IMDB scrapy obtém todos os dados do filme
Estou trabalhando em um projeto de classe e tentando obter todos os dados do filme IMDB (títulos, orçamentos etc.) até 2016. Adotei o código dehttps://github.com/alexwhb/IMDB-spider/blob/master/tutorial/spiders/spider.py.
Meu pensamento é: de i na faixa (1874,2016) (desde 1874 é o primeiro ano mostrado nahttp://www.imdb.com/year/), direcione o programa para o site do ano correspondente e pegue os dados desse URL.
Mas o problema é que cada página de cada ano mostra apenas 50 filmes; portanto, depois de rastrear os 50 filmes, como posso passar para a próxima página? E depois de rastrear a cada ano, como posso avançar para o próximo ano? Este é o meu código para a parte do URL de análise até agora, mas ele só pode rastrear 50 filmes por um ano específico.
class tutorialSpider(scrapy.Spider):
name = "tutorial"
allowed_domains = ["imdb.com"]
start_urls = ["http://www.imdb.com/search/title?year=2014,2014&title_type=feature&sort=moviemeter,asc"]
def parse(self, response):
for sel in response.xpath("//*[@class='results']/tr/td[3]"):
item = MovieItem()
item['Title'] = sel.xpath('a/text()').extract()[0]
item['MianPageUrl']= "http://imdb.com"+sel.xpath('a/@href').extract()[0]
request = scrapy.Request(item['MianPageUrl'], callback=self.parseMovieDetails)
request.meta['item'] = item
yield request