爬虫及词云总结
创始人
2024-02-17 00:33:11
0

0.需求

需求:在一个【无下一页】的【动态页面】中获取需要用【查看更多】才能获取完整的信息(【爬虫】),并生成【词云】。
要点:在列表页面用请求头里的参数获取所有数据,并根据这个构建新的url,以此获取每一个完整信息。

1.爬虫

1.1库

requests——发http请求
re——通过正则表达式对字符串进⾏匹配
json——处理 JOSN 数据(json是一种数据交换格式)

1.2请求

1.2.0基础

两种请求方法。根据实际请求类型选择。

  1. get(url, params, args)
  2. post(url, data, json, args)。data 为要发送到指定 url 的字典、元组列表、字节或文件对象;json 为要发送到指定 url 的 JSON 对象。根据网页请求头里面的内容类型确定。

必要伪装

  1. 加入请求头,改变User-Agent——从F12→Network→XHR→heads获取
  2. 代理IP。同一个IP访问过多会被封禁

1.2.1动态页面

问题:无法通过URL获取页面内容。
解释:它是每次加载会不同的页面,点击下一页时上面的URL不变,且用查看源码看不到内容。
方法:获取真实url;利用selenium模拟点击。因后者慢,选择前者。通过F12看真实请求URL,并根据变化规律构建所有真实URL。因为是post请求,所以需要post的参数来构建。

1.2.2异步加载

问题:无法通过URL获取全部内容。
解释:在需要新的数据时,无需全部加载,而是只加载需要的。AJAX(Asynchronous JavaScript and XML)是动态网页用到的东东,可以做到异步更新。本质还是动态页面。
方法:依旧是获取真实URL,根据每次的URL构成找到规律获取全部URL。

1.3获取数据

方法:利用BeautifulSoup对html进行解析(基于css选择器);利用xpath(基于HTML的树结构和节点进行取值);利用JOSN的字段获取,需要返回结果是该格式

1.4清洗数据

问题:得到的内容里面有html的标签。
方法:构建一个模式字符串替换结果中不要的。

regex = re.compile(r'<.*?>')
res_str = regex.sub('', to_replace_str)

2.词云

2.1库

jieba——中文分词库
wordCLoud——词云展示

2.2例子

获取内容→分词→根据参数生成词云

import jieba,numpy
from wordcloud import WordCloudwords = open('a.txt',encoding='utf-8').read()
new_words=' '.join(jieba.cut(words))# alice_mask=numpy.array(Image.open('./white.jpeg'))
# wordcloud=WordCloud(width=1000, height=860, margin=2, mask=alice_mask, background_color='#FFFFFF',font_path='./song.ttf')wordcloud=WordCloud(width=1000, height=860, margin=2, background_color='#FFFFFF',font_path='./song.ttf')wordcloud.generate(new_words)
wordcloud.to_file('aa.jpg')

相关内容

热门资讯

一次性信用修复政策来了!这些法... 今天(22日),中国人民银行发布通知,实施一次性信用修复政策,支持信用受损但积极还款的个人高效便捷重...
“重庆调解在线”数字应用累计办... 12月19日,市人大监察司法委、市政协社法委和市司法局举办2025年联合开放日暨调研活动。据了解,本...
京尹律所律师王亭玉、刘杉代理侵... 01 基本案情 武汉某传媒公司是一家主要从事广告设计、动画设计、信息咨询、网络运营、数据处理等为主...
云南城投董事会通过内部机构调整... 观点网讯:12月22日,云南城投置业股份有限公司召开第十届董事会第三十八次会议。 会议审议并通过了三...
优衣库曾因隐私权纠纷被起诉 雷达财经讯,据媒体报道,近日,优衣库部分门店被指“偷拍”消费者来防盗。在社交媒体上,部分消费者反映,...
一次性信用修复政策发布! 12月22日,中国人民银行发布通知,实施一次性信用修复政策,支持信用受损但积极还款的个人高效便捷重塑...
转错账难追讨?五华法院调解止纷... 当下,银行转账等快捷支付方式为老百姓的生活提供了便利,然而遇到转错账、对方不返还怎么办?近日,五华法...
骄成超声(688392)披露提... 截至2025年12月22日收盘,骄成超声(688392)报收于122.82元,较前一交易日上涨7.6...
男子把80万元奔驰借给朋友却被... 男子把80万元奔驰借给朋友却被对方3万元抵押,律师:涉嫌诈骗