如何从外部应用程序
问题描述:
得到scrapy网址,鉴于你的标准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是否期待我们对此进行硬编码?
答
只需将您在start_requests
中的urls
变量与您要刮取的URL列表一起设置即可。它不必硬编码。
例如,如果你在Django中做到这一点,假设你有一个模型ScrapeUrl与场模型
urls = ScrapeUrl.objects.values_list('url', flat=True)
如果从API的,你可以使用requests
来获取它们。
不要忘记在访问任何模型之前设置Django。