如何爬取网页中动态加载的数据?
优采云 发布时间: 2022-05-10 07:53如何爬取网页中动态加载的数据?
在使用Python爬虫技术采集数据信息时,经常会遇到在返回的网页信息中,无法抓取动态加载的可用数据,例如,获取某网页中,商品价格时就会出现此类现象。如图1所示。本实例将实现爬取网页中类似的动态加载的数据。
图1获取某网页商品价格
代码实现
在实现爬取动态加载的数据信息时,首先需要在浏览器的网络监视器中根据动态加载的技术选择网络请求的类型,然后通过逐个筛选的方式查询预览信息中的关键数据,并获取对应的请求地址,最后进行信息的解析工作即可。具体步骤如下:
(1)在浏览器中快捷键F12打开“开发者工具”,然后选择“Network”(网络监视器)并在网络类型中选择“JS”,再按快捷键F5刷新,如图2所示。
图2刷新网络监视器
(2)在请求信息的列表中,依次单击每个请求信息,然后在对应的“Preview”(请求结果预览)中核对是否为需要获取的动态加载数据,如图3所示。
图3核对动态加载的数据信息
(3)动态加载的数据信息核对完成后,单击“Headers”获取当前的网络请求地址以及所需参数,如图4所示。
图4查看获取价格的请求地址与请求参数
(4)根据以上步骤获取到的请求地址,发送网络请求并从返回的json信息中提取商品价格信息。代码如下:
importrequests#网络请求模块
#头部信息
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'}
#获取商品价格的请求地址,因为callback参数不是必要参数,所以在实现网络请求时可以去除该参数