用爬虫抓取动态加载数据丨Python爬虫实战系列(6) |
您所在的位置:网站首页 › 动态网页数据抓取工具怎么用 › 用爬虫抓取动态加载数据丨Python爬虫实战系列(6) |
抓取动态加载数据 首先要明确网站的类型,即是动态还是静态。检查方法:右键查看网页源码 —> 搜索“辛德勒的名单”关键字,如下图所示: 最终发现源码页中没有出现想要抓取的数据,只有一大堆的 JS 代码,由此确定该网站为动态网站。 影片详情信息接下来,使用快捷键 F12 打开控制台进行抓包,点击NetWork选项卡 —>XHR选项 —> Preview选项卡 —> 刷新当前页面抓取数据包,如下图所示:
从图 2 可知,我们想要抓取的数据取全部包含在当前的数据包中。当我们向下滚动鼠标滑轮时,左侧栏内的数据包会实现自动加载,这是使用Ajax异步加载技术实现的。 通过查看数据 Headers 选项可以明确 url 地址、查询参数等信息,如下所示:
从上图可以得知请求的基准 URL (由于还未拼接查询参数,所以称之为基准 URL),如下所示: 注意:寻找规律时,后加载出来的数据包会排在最前面,除去第一个数据包外,其余数据包如下所示:
注意:第一个数据包反映了每个类型中电影的总数量,其 url 与响应信息如下: 影片的类型与类型码包含在电影排行榜的主界面中,如下所示:
分析上述页面结构,然后使用正则表达式来提取想要的数据,并定义选择菜单“menu”,代码如下所示: import re def get_all_type_films(self): # 获取影片类型和类型码 url = 'https://douban-dy网址/chart' headers = self.get_headers() html = requests.get(url=url, headers=headers).text re_bds = r' |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |