Scrapy中如何获取下一页链接

本文介绍了使用Scrapy爬虫进行数据抓取时获取下一页链接的两种常见方法:一是通过当前页面的“下一页”链接直接获取;二是根据URL规律自动生成下一页链接。这两种方法有助于实现网页的连续抓取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Scrapy从开始链接抓取数据,然后通过下一页链接不停的抓取更多的数据。

那么如何获取下一页链接呢,常见有两种方式:

1、通过当前页面的“下一页”链接获取,例如:

<div class=zw_page1>
下一篇:<a href="../../JokeHtml/bxnn/2017122722221351.htm">爆逗二货,醉人的笑容你会有</a>
</div> 

此时获取的链接一般是相对url,需要将相对url转为绝对url,方法如下:

# 获取下一篇链接
nexthref = response.xpath('//div[@class="zw_page1"]/a/@href').extract_first()
if nexthref is not None:
    # 将相对url转为绝对url
    nexthref = response.urljoin(nexthref)

 

2、抓取数据的url有一定的规律,例如:

http://www.haha365.com/joke/index_1.htm

http://www.haha365.com/joke/index_2.htm

......

http://www.haha365.com/joke/index_1022.htm

此时可以通过自定义生成url的方式获取下一页url,方法如下:

# 获取下一篇链接
s1 = re.search(r'index_[0-9]+', response.url, re.S)
s2 = re.search(r'[0-9]+', s1.group(), re.S)
i = int(s2.group()) + 1
nexthref = "http://www.haha365.com/joke/index_"+str(i)+".htm"

 

转载于:https://www.cnblogs.com/sam11/p/8329976.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值