Python 第2页之后,分页失败

Python 第2页之后,分页失败,python,python-3.x,callback,scrapy,Python,Python 3.x,Callback,Scrapy,我正在创建一个爬行器,它可以在这里抓取每个页面:并且只返回卡片名称。正如我所期望的,它应该从起始页收集所有项目,然后按照“下一步”分页链接(“BookEnd”类)并重复,直到没有这样的链接为止 我需要更改什么才能使分页正常工作 我对网页抓取还不熟悉。我已经通过手动将每个页面输入到start\u url,实现了这个爬行器的工作,但我想让它更加自动化 #!/usr/bin/env python3 import scrapy from scrapy.http import Request clas

我正在创建一个爬行器,它可以在这里抓取每个页面:并且只返回卡片名称。正如我所期望的,它应该从起始页收集所有项目,然后按照“下一步”分页链接(“BookEnd”类)并重复,直到没有这样的链接为止

我需要更改什么才能使分页正常工作

我对网页抓取还不熟悉。我已经通过手动将每个页面输入到
start\u url
,实现了这个爬行器的工作,但我想让它更加自动化

#!/usr/bin/env python3

import scrapy
from scrapy.http import Request

class TypeSpider(scrapy.Spider):
    name = "types"
    start_urls = ["https://web.archive.org/web/20141217173745/http://www.docstoc.com/documents/legal"]

    def parse(self, response):
        for card1 in response.xpath("//*[@class='doc-title']"):
            text = card1.xpath(".//a/text()").extract_first()
            yield{"Title": text}
        for card2 in response.xpath("//*[@class='col-sm-10']"):
            text = card2.xpath(".//h3/text()").extract_first()
            yield{"Title": text}
        next_page = response.css("li.BookEnd > a::attr(href)").extract_first()
        if next_page is not None:
            next_page = response.urljoin(next_page)
            yield scrapy.Request(url=next_page, callback=self.parse)
我希望蜘蛛能够抓取所有34页,但在第2页之后,它将退出:

DEBUG:Filtered duplicate request:-将不再显示重复项(请参阅DUPEFILTER\u DEBUG以显示所有重复项)

dont\u filter
对我不起作用


另外,我在这里同时使用xPath和CSS,只是因为我无法用xPath提取分页链接——我不知道为什么。

如果你不在第一页,你的CSS选择器就会转到上一页。解决这一问题的方法如下:

next_page = response.css("li.BookEnd > a::attr(href)").extract()[-1]