import scrapy
from movie.items import MovieItem
class MeijuSpider(scrapy.Spider):
name = "meiju"
allowed_domains = ["alexa.cn"]
start_urls = ['www.alexa.cn/siterank']
def parse(self, response):
movies = response.xpath('//ul[@class="siterank-sitelist"]/li')
for each_movie in movies:
item = MovieItem()
item['name'] =each_movie.xpath('.//p[@class="infos"]').extract()[0]
yield item
Der Code sieht so aus. Was ich in einer Schleife festhalten möchte, ist:
www.alexa.cn/siterank/2
www.alexa.cn/siterank/3
www.alexa.cn/siterank/4
.....
Ich denke, die Schleife sollte für i in range(2,10):
yield scrapy.Request('www.alexa.cn/siterank/%d'%i) so aussehen, aber ich weiß nicht, wie ich sie füllen soll es drin. Hilfe
若你範圍都確定的話,不如從start_urls 下手
官网上有例子,关于追踪下一页,官网上面的例子用的是递归,官网的代码如下:
我自己用Scrapy写了一个贴吧的爬虫,获取下一页用的也是这种递归的方法,代码如下: