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
代码是这样的。我想循环抓取的是:
www.alexa.cn/siterank/2
www.alexa.cn/siterank/3
www.alexa.cn/siterank/4
.....
我看循环应该是这样的for i in range(2,10):
yield scrapy.Request('www.alexa.cn/siterank/%d'%i),但是我不知道怎么填进去。求助
若你范围都确定的话,不如从start_urls 下手
官网上有例子,关于追踪下一页,官网上面的例子用的是递归,官网的代码如下:
我自己用Scrapy写了一个贴吧的爬虫,获取下一页用的也是这种递归的方法,代码如下: