scrapy爬虫解析起始页网页链接后request请求不能正常跳转到下一级爬虫类的解析方法中

爬虫启动后,bash显示如下信息:

    2020-04-07 18:38:17 [scrapy.core.engine] INFO: Spider opened
    2020-04-07 18:38:17 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
    2020-04-07 18:38:17 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
    2020-04-07 18:38:23 [scrapy.core.engine] INFO: Closing spider (finished)
    2020-04-07 18:38:23 [scrapy.statscollectors] INFO: Dumping Scrapy stats:

疑为爬虫下一级方法前一行有注释导致,删除注释后,证实与此无关。

单步调试时发现如下问题:
scrapy爬虫解析起始页网页链接后request请求不能正常跳转到下一级爬虫类的解析方法中_第1张图片
如圈出位置,为何拼接后url传入scrapy请求时url多了后缀?
查询得知:
scrapy爬虫解析起始页网页链接后request请求不能正常跳转到下一级爬虫类的解析方法中_第2张图片
多的后缀%20意为空格,查询网页源码验证标签的href属性最后一位确实为空格。
将获得元素去除空格后在拼凑url即可,代码如下:

href1 = div_in.xpath('./div[1]/div/h2/a/@href').extract().pop()
href = href1.split(' ')[0]
url = urllib.parse.urljoin(self.headurl, href)

你可能感兴趣的:(scrapy爬虫解析起始页网页链接后request请求不能正常跳转到下一级爬虫类的解析方法中)