Scrapy蜘蛛不跟随分页

时间:2017-01-20 17:36:31

标签: scrapy scrapy-spider

我正在使用此链接中的代码(https://github.com/eloyz/reddit/blob/master/reddit/spiders/pic.py)但不知何故我无法访问分页页面。

我正在使用scrapy 1.3.0

1 个答案:

答案 0 :(得分:0)

您没有任何处理下一页的机制,您所做的只是收集图像。

这是你应该做的,我写了一些选择器,但没有测试它。

来自scrapy.spiders的

导入Spider 来自scrapy.selector import Selector 来自scrapy import Request import urlparse

类xxx_spider(蜘蛛):     name =“xxx”     allowed_domains = [“xxx.com”]

def start_requests(self):
    url = 'first page url'
    yield Request(url=url, callback=self.parse, meta={"page":1})


def parse(self, response):
    page = response.meta["page"] + 1
    html = Selector(response)

    pics = html.css('div.thing')
    for selector in pics:                
        item = PicItem()
        item['image_urls'] = selector.xpath('a/@href').extract()
        item['title'] = selector.xpath('div/p/a/text()').extract()
        item['url'] = selector.xpath('a/@href').extract()

        yield item

    next_link = html.css("span.next-button a::attr(href)")
    if not next_link is None:
        yield Request(url=url, callback=self.parse, meta={"page":page})

与你所做的类似,但是当我得到图像时,我会检查下一页链接,如果它存在,那么我会用它产生另一个请求。

穆罕默德