问题:用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爬取下一页链接时返回空值?的主要内容,如果未能解决你的问题,请参考以下文章