excel抓取网页动态数据(爬取页面中的新闻数据对应的数据包url和新闻详情数据)
优采云 发布时间: 2021-12-14 18:29excel抓取网页动态数据(爬取页面中的新闻数据对应的数据包url和新闻详情数据)
要求:抓取页面中的新闻数据。
分析:
1. 首先通过对页面的分析,会发现页面中的新闻数据是动态加载的,通过抓包工具抓取数据,可以发现动态数据并不是获取到的动态数据被ajax请求(因为没有捕获到ajax请求的数据包),那么就只剩下一种可能了,动态数据由js动态生成。
2. 使用抓包工具找出是哪个js请求产生了动态数据:打开抓包工具,然后向首页url(要求第一行的url)发起请求,抓包所有的请求的数据包。
分析响应js包返回的数据:
响应数据对应的url可以在抓包工具对应的数据包的header选项卡中获取。获取到url后,发起请求获取上图中选择的对应数据。响应数据类型为application/javascript类型,所以可以通过正则表达式提取得到的响应数据,提取外大括号中的数据,然后使用json.loads转换为字典类型,然后逐步解析出数据中所有新闻详情页面的 URL。
- 获取详情页对应的新闻详情数据:向详情页发出请求后,会发现详情页的新闻数据也是动态加载的,所以和上面的步骤一样,获取详情页中的部分数据在抓包工具中查看详情页搜索并定位到指定的js数据包:
js数据包的url为:
获取到详情页url后,可以请求数据包对应的响应数据,对应的数据中收录对应的新闻详情数据。注意响应数据类型也是application/javascript,所以数据分析同上!
分析首页所有新闻详情页的url与新闻详情数据对应的js数据包的url的关联:
-首页新闻详情页url:5c39c314138da31babf0b16af5a55da4/e43e220633a65f9b6d8b53712cba9caa.html
-新闻详情数据对应的js数据包url:5c39c314138da31babf0b16af5a55da4/datae43e220633a65f9b6d8b53712cba9caa.js
-所有新闻详情对应的js数据包*敏*感*词*选中部分除了红色部分不同外都是一样的,但是红色部分和新闻详情页url中红色部分是一样的!!!新闻详情页的url可以在上面的过程中解析出来。所以,现在可以批量生成js数据包对应的详细数据的url,然后批量数据请求,获取响应数据,再解析响应数据,完成最终的需求!