我想从多个网址中抓取信息。我使用以下代码,但不起作用。有人可以指出我出了问题的地方吗?
import scrapy
class spider1(scrapy.Spider):
name = "spider1"
domain = "http://www.amazon.com/dp/"
ASIN = ['B01LA6171I', 'B00OUKHTLO', 'B00B7LUVZK']
def start_request(self):
for i in ASIN:
yield scrapy.Request(url=domain+i, callback=self.parse)
def parse(self, response):
title = response.css("span#productTitle::text").extract_first().strip()
ASIN_ext = response.xpath("//input[@name='ASIN']/@value").extract_first()
data = {"ASIN": ASIN_ext, "title": title, }
yield data
答案 0 :(得分:0)
方法名称中有一个错字:应该是start_requests
而不是start_request
。
答案 1 :(得分:0)
这是我的解决方案,用于在 page/1 到 page/50 上循环一个 url
urls = ['http://www.example.com/page/' + str(i) for i in range(1, 51)]