水平有限,不会造轮子,只为学习。
在原来写端口扫描的基础上进一步爬取web服务的title信息,方便收集信息。
适用于在外网收集资产形成IP字典后去批量获取title,意在最快地寻找脆弱点。
自行安装BeautifulSoup4、requests库。
V10
python3 写的单线程爬取web系统的title信息。
注解
1使用BeautifulSoup4库来解析HTML,爬取title信息;
2打印title时,带有颜色的输出;
3在开放443、4433、8443端口时,采用>
from bs4 import BeautifulSoup
from requestsexceptions import RequestException
import re
import requests
import os
def get_html_text(url):
try:
r = requestsget(url)
rraise_for_status()
return rtext
except RequestException:
return None
def get_chapter_names(html):
soup = BeautifulSoup(html, 'lxml')
charpter = soupselect('bg')
charpter_names = []
for entry in charpter[1:]:
charpter_name = refindall('<h2>()</h2>', str(entry))
file_name = refindall('<a href>()</a>', str(entry))
if charpter_name and file_name:
for name in file_name:
name = namesplit(' ')[0]
charpter_namesappend(charpter_name[0] + '_' + name)
else:
pass
return set(charpter_names)
def get_each_url(html):
soup = BeautifulSoup(html, 'lxml')
urls = soupselect('ul li a')
for url in urls:
link = urlget('href')
text = urltextsplit(' ')[0]
full_name = urltextreplace('','')
yield {'url': link, 'text': text,'full_name':full_name}
print(text)
def get_text(url):
r = requestsget(url)
rencoding = rapparent_encoding
soup = BeautifulSoup(rtext, 'lxml')
items = soupselect('divcontent-body')
item = refindall(';();', items[0]text, reS)
return item[0]encode()
def save_to_file(url, text, full_name):
base_dir = 'daomu'
path = '{}\\{}\\{}'format(osgetcwd(), base_dir, text)
if not ospathexists(path):
try:
osmakedirs(path)
except:
pass
try:
with open(path +'\\'+ full_name +'txt', 'wb') as f:
fwrite(get_text(url))
except:
pass
def main():
url = '>
二进制响应内容
你也能以字节的方式访问请求响应体,对于非文本请求:
>>> rcontent
b'[{"repository":{"open_issues":0,"url":"响应内容
我们能读取服务器响应的内容。再次以 GitHub 时间线为例:
>>> import requests
>>> r = requestsget(' 会使用其推测的文本编码。
-----------------------------------------------------------
上面的内容摘自官方文档。content是字节码,二进制的。text是文本。
您好,首先,syssetdefaultencoding is evil。
其次,不会用 Requests 就去看文档,不要乱来。
如果 Requests 检测不到正确的编码,那么你告诉它正确的是什么:
responseencoding = 'gbk'
print responsetext
原始内容在 responsecontent 里,bytes,自己想怎么处理就怎么处理。
单个请求完全没必要用 Session。直接 requestsget(xxx) 就可以了。
最后,弄不明白怎么处理编码错误的字符串就仔细想想,或者用 Python 3x,不要散dq编程。
以下是 Python 3。Python 2 在那个字符串前加个 u 告诉它是 unicode 也一样。
1 google goose
>>> from goose import Goose>>> url = '
2 python SnowNLP
from snownlp import SnowNLP
s = SnowNLP(u'这个东西真心很赞')
swords # [u'这个', u'东西', u'真心',
# u'很', u'赞']
stags # [(u'这个', u'r'), (u'东西', u'n'),
# (u'真心', u'd'), (u'很', u'd'),
# (u'赞', u'Vg')]
ssentiments # 09769663402895832 positive的概率
spinyin # [u'zhe', u'ge', u'dong', u'xi',
# u'zhen', u'xin', u'hen', u'zan']
s = SnowNLP(u'「繁体字」「繁体中文」的叫法在台湾亦很常见。')
shan # u'「繁体字」「繁体中文」的叫法
# 在台湾亦很常见。'
text = u'''
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。
它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
自然语言处理是一门融语言学、计算机科学、数学于一体的科学。
因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,
所以它与语言学的研究有着密切的联系,但又有重要的区别。
自然语言处理并不是一般地研究自然语言,
而在于研制能有效地实现自然语言通信的计算机系统,
特别是其中的软件系统。因而它是计算机科学的一部分。
'''
s = SnowNLP(text)
skeywords(3) # [u'语言', u'自然', u'计算机']
ssummary(3) # [u'因而它是计算机科学的一部分',
# u'自然语言处理是一门融语言学、计算机科学、
# 数学于一体的科学',
# u'自然语言处理是计算机科学领域与人工智能
# 领域中的一个重要方向']
ssentences
s = SnowNLP([[u'这篇', u'文章'],
[u'那篇', u'论文'],
[u'这个']])
stf
sidf
ssim([u'文章'])# [03756070762985226, 0, 0]
3 python TextTeaser
#!/usr/bin/python# -- coding: utf-8 --
from textteaser import TextTeaser
# article source:
4 python sumy
# -- coding: utf8 --from __future__ import absolute_import
from __future__ import division, print_function, unicode_literals
from sumyparsershtml import HtmlParser
from sumyparsersplaintext import PlaintextParser
from sumynlptokenizers import Tokenizer
from sumysummarizerslsa import LsaSummarizer as Summarizer
from sumynlpstemmers import Stemmer
from sumyutils import get_stop_words
LANGUAGE = "czech"
SENTENCES_COUNT = 10
if __name__ == "__main__":
url = ">
import re 和 import requests 是 Python 中的两个常用模块,它们的功能不同:
import re 是 Python 正则表达式模块,主要用于字符串的模式匹配和文本处理。它提供了一系列函数和模式来搜索、替换和分割字符串。
import requests 是 Python 网络请求模块,主要用于发送 >
所以,如果你需要在字符串中查找某些模式或替换某些文本,使用 import re 模块是很有用的。如果你需要发送网络请求获取网页内容或下载文件,使用 import requests 模块是很有用的。
import sys
from lxml import etree
reload(sys)
syssetdefaultencoding("utf8")
import requests
r = requestsget('>
以上就是关于python3 获取title的编写全部的内容,包括:python3 获取title的编写、python模块识别网页文本大小、求一个python3爬虫代码,可以从小说网站上直接把小说的文字抄下来,并整合到一个新的文本里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)