问题:用scrapy爬取下一页链接时返回空值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问题:用scrapy爬取下一页链接时返回空值?相关的知识,希望对你有一定的参考价值。

想要爬取贝壳(还有链家也是这个问题)下一页的链接。题主采用了两个方式,第一个是选择所有包含"下一页"字段的行,然后提出href后的链接,但是这种方法返回了空值。第二个方式是题主又根据class="page-box house-lst-page-box"进入到对应的行然后选择a,返回所有a行,并提出href后的链接,但是这种方法又返回了空置,抓不到链接。请问是为什么?附上图片和代码第一种方式:response.xpath(u'//a[text()="下一页"]/@href')第二种方式:response.xpath('//div[@class="page-box house-lst-page-box"]/a')卡了好久了也想不出怎么解决,题主是新手,希望大家多指点指点感谢!!

参考技术A 在这里回答爬虫相关问题代码,答一个被删一个

Python3 scrapy 无法爬取下一页的问题

导致request失效的原因有两个,下面是解决方法

第一,更改代码 allowe_domains 内容

class XXSpider(scrapy.Spider):
    name = ‘xxspider‘
    allowed_domains = [‘www.xx.com‘]   #一定不要带有https://开头
    start_urls = [‘https://www.xx.com/xxxyyy/‘]

  

第二,更改Request函数过滤器

yield scrapy.Request(next_url, call_back=self.parse, dont_filter=True) 
#增加代码,不过滤为真

  

以上是关于问题:用scrapy爬取下一页链接时返回空值?的主要内容,如果未能解决你的问题,请参考以下文章

scrapy爬取数据时,为啥总是302

用 Scrapy 和 Selenium 进行刮擦

python网络爬虫之使用scrapy自动爬取多个网页

如何使用 Scrapy FormRequest 在分页的 .asp 站点上模拟下一页链接请求

Scrapy中如何获取下一页链接

Scrapy实战:爬取http://quotes.toscrape.com网站数据