如何从外部应用程序获取scrapy的URL

时间:2017-05-26 02:53:35

标签: python django 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是否期望我们对此进行硬编码?

1 个答案:

答案 0 :(得分:0)

只需将urls中的start_requests变量设置为您要抓取的网址列表即可。它不一定要硬编码。

例如,如果你在Django中这样做,假设你有一个带有字段模型的ScrapeUrl模型

urls = ScrapeUrl.objects.values_list('url', flat=True)

如果它来自API,您可以使用requests为您抓取它们。

在访问任何模型之前,不要忘记设置Django。