我正在使用此链接中的代码(https://github.com/eloyz/reddit/blob/master/reddit/spiders/pic.py)但不知何故我无法访问分页页面。
我正在使用scrapy 1.3.0
答案 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})
与你所做的类似,但是当我得到图像时,我会检查下一页链接,如果它存在,那么我会用它产生另一个请求。
穆罕默德