【发布时间】:2014-03-25 16:48:08
【问题描述】:
scrapy 和 python 新手,在这里遇到问题。
我正在尝试从 Metacritic 获取整个 PS3 游戏列表。这是我的代码:
class MetacriticSpider(BaseSpider):
name = "metacritic"
allowed_domains = ["metacritic.com"]
max_id = 10
start_urls = [
"http://www.metacritic.com/browse/games/title/ps3?page="
#"http://www.metacritic.com/browse/games/title/xbox360?page=0"
]
def start_requests(self):
for c in lowercase:
for i in range(self.max_id):
yield Request('http://www.metacritic.com/browse/games/title/ps3/{0}?page={1}'.format(c, i), callback = self.parse)
def parse(self, response):
sel = Selector(response)
sites = sel.xpath('//div[@class="product_wrap"]/div')
items = []
for site in sites:
#item = MetacriticItem()
#titles = site.xpath('a/text()').extract()
titles = site.xpath('//div[contains(@class, "basic_stat product_title")]/a/text()').extract()
#cscore = site.xpath('//div[contains(@class, "basic_stat product_score brief_metascore")]/div[1]/text()').extract()
if titles:
item = MetacriticItem()
item['title'] = titles[0].strip()
items.append(item)
return items
由于某种原因,当我检查 JSON 文件时,我有每个标题的 81 个实例,并且它开始于 刺客信条:启示录 - 祖先角色包
它应该从标题编号的第一页开始,然后前进到 A 列表,并检查其中的每一页等。 关于为什么这样做的任何想法,我看不出我的问题是什么
【问题讨论】:
标签: python windows web-scraping scrapy