Python爬虫:抓取多级页面数据

本文介绍了如何使用Python爬虫抓取多级页面数据,如电影天堂网站的电影名称和下载链接。重点讲述了URL规律的分析、正则表达式的应用,以及如何通过MD5生成url指纹实现增量抓取,降低资源消耗。
摘要由CSDN通过智能技术生成

前面讲解的爬虫案例都是单级页面数据抓取,但有些时候,只抓取一个单级页面是无法完成数据提取的。本节讲解如何使用爬虫抓取多级页面的数据。

在爬虫的过程中,多级页面抓取是经常遇见的。下面以抓取二级页面为例,对每级页面的作用进行说明:

  • • 一级页面提供了获取二级页面的访问链接。

  • • 二级页面作为详情页用来提取所需数据。

一级页面以<a>标签的形式链接到二级页面,只有在二级页面才可以提取到所需数据。

多级页面分析

下面以电影天堂(点击访问[1]) 2020 新片精品为案例进行讲解,将每部影片的名称,以及下载链接抓取下来。首先点击“更多”进入一级页面,如下图所示:

多级页面数据抓取

图1:Python爬虫多级页面抓取

1) 寻找url规律

通过简单分析可以得知一级与二级页面均为静态页面,接下来分析 url 规律,通过点击第 1 页,第 2 页 …,其规律如下:

第1页 :https://www.dytt8.net/html/gndy/dyzz/list_23_1.html  
第2页 :https://www.dytt8.net/html/gndy/dyzz/list_23_2.html  
第n页 :https://www.dytt8.net/html/gndy/dyzz/list_23_n.html
2) 确定正则表达式

通过元素审查可知一级页面的元素结构如下:

一级页面元素结构

图2:页面元素分析

其正则表达式如下:

 <table width="100%".*?<td width="5%".*?<a href="(.*?)".*?ulink">.*?</table>

点击二级页面进入详情页,通过开发者工具分析想要数据的网页元素,即电影名称,和下载链接,其正则表达式如下:

<div class="title_all"><h1><font color=#07519a>(.*?)</font></h1></div>.*?<div><a href="(.*?)">.*?</a>

爬虫增量抓取

爬虫是一种效率很低的程序,非常消耗计算机资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值