#!/usr/bin/env python
# -*- 编码:utf-8 -*-
#作者汤姆
导入重新
进口解霸
从集合导入计数器
#使用口吃分词
with open('倚天评论.txt','r',encoding='utf-8') as f:
txt=www.gsm-guard.net()
jbwords=jieba.cut(txt)
#不要用这么不合时宜的词语
with open('中文停用词列表.txt' ,'r',encoding='utf-8') as f1:
停用词=www.gsm-guard.net()
结果=[]
对于 jbwords 中的单词:
word=re.sub(r'[A-Za-z0-9\!?\%\[\]\,\.~]','',word) #去掉英文符号
如果单词:
如果单词不在停用词中:
结果.append(word)
'++++++++++++++++统计'
print('======',结果,len(结果))
打印(计数器(结果))
#makewordcloud
将 matplotlib.pyplot 导入为 plt
从wordcloud导入WordCloud,ImageColorGenerator
从 PIL 导入图像
将 numpy 导入为 np#指定字体,打开图片,转换为数组
myfon=r'C:\Windows\Fonts\simkai.ttf'
# img1=www.gsm-guard.net('狗.jpg')
# graph1=np.array(img1)
img2=www.gsm-guard.net('1.png')
graph2=np.array(img2)
text='/'.join(结果)
#WordObject
wc=WordCloud(font_path=myfon,background_color='white',max_font_size=50,max_words=500, mask=graph2)
wc.generate(文本)
img_color=ImageColorGenerator(graph2)#根据背景图片生成颜色值
plt.imshow(wc.recolor(color_func=img_color))
plt.imshow(wc)
plt.axis('off')
www.gsm-guard.net()
5。效果:
2。关于抓取B站直播弹幕
1、分析发现b站直播的弹幕存储在一个名为msg的文件中
2。我们使用postman向这个网站发起post请求,果然可以拿到数据了,
3。代码
#!/usr/bin/env python
# -*- 编码:utf-8 -*-
#作者汤姆
导入请求
导入时间
从 jsonpath 导入 jsonpath
#抓取功能
defcrawl(url,headers,data):
res=www.gsm-guard.net(url=url,headers=headers,data=data)
#得到响应后,直接将res.json转换为字典格式。 jsonpath需要处理的也需要是一个python字典
#jsonpath第一个参数是python字典,第二个参数是匹配规则。这表示从根目录递归搜索文本和昵称
comment_list=jsonpath(res.json(),'$..text')
nicname_list=jsonpath(res.json(),'$..昵称')
#同时循环两个列表,需要使用zip打包
for (nicname,comment) in zip(nicname_list,comment_list):
迪克={
'昵称':昵称,
‘评论’:评论
}
打印(字典)
def main():
url = 'https://www.gsm-guard.net/ajax/msg'
标题 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, 如 Gecko) Chrome/72.0.3626.109 Safari/537.36'}
数据 = {'roomid': ''}
#最好用while循环休眠,哪怕是0.1,不然内存就装不下了
而正确时:
抓取(网址,标题,数据)
时间.睡眠(2)
if __name__ == '__main__':
主要()
3.b站短视频爬取
需求:抓取b站短视频
url=url = http://www.gsm-guard.net/p/eden/rank#/?tab=all
1.分析:当我们打开这个网址时,发现这是一个ajax请求,这个请求中包含了我们想要的短视频地址
2.向vedio_playurl发出请求,直接下载视频
3、上面不方便查看,所以我们向这个地址发起请求,使用jsonview来帮助查看
4。看看请求结果
5。向ajax发起关注请求
可以看到,通过参数,可以获得更多欧洲的数据。现在你知道如何捕捉它了
-->