点击上方“蓝字”关注我们
今日头条爬虫实战
Mar 27, 2020
本期介绍通过在头条中搜索关键词后,分析ajax内容来爬取相关图片
本文约1.8k字,预计阅读10分钟。
有时候我们在用 「requests」抓取页面的时候,得到的结果可能和在浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据,但是使用 requests得到的结果并没有。这是因为 requests获取的都是原始的HTML 文档,而浏览器中的页面则是经过 JavaScript处理数据后生成的结果,这些数据的来源有多种,可能是通过 Ajax加载的, 可能是包含在 HTML 文档中的,也可能是经过 JavaScript和特定算法计算后生成的 。
对于第一种情况,数据加载是一种异步加载方式,原始的页面最初不会包含某些数据,原始页面加载完后,会再向服务器请求某个接口获取数据,然后数据才被处理从而呈现到网页上,这其实就是发送了一个「Ajax」请求 。
所以如果遇到这样的页面,直接利用 requests等库来抓取原始页面,是无法获取到有效数据的,这时需要分析网页后台向接口发送的「 Ajax」请求,如果可以用「 requests」来模拟 「Ajax」请求,那么就可以成功抓取了 。
页面分析
打开Chrome/Safrai中的「检查」---「网络」,在头条官网上进行搜索,例如:天气之子,向下滚动,加载所有的信息,部分结果如下所示:
选择