鉴于您的标准scrapy应用程序:
import scrapy
class QuotesSpider(scrapy.Spider):
name = "quotes"
def start_requests(self):
urls = [
'http://quotes.toscrape.com/page/1/',
'http://quotes.toscrape.com/page/2/',
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
如何从外部来源提取网址?我使用的是网络服务吗?我使用的是django还是数据库连接?
scrapy是否期望我们对此进行硬编码?
答案 0 :(得分:0)
只需将urls
中的start_requests
变量设置为您要抓取的网址列表即可。它不一定要硬编码。
例如,如果你在Django中这样做,假设你有一个带有字段模型的ScrapeUrl模型
urls = ScrapeUrl.objects.values_list('url', flat=True)
如果它来自API,您可以使用requests
为您抓取它们。
在访问任何模型之前,不要忘记设置Django。