【问题标题】:How to load urls into Scrapy one by one如何将 url 一个一个加载到 Scrapy 中
【发布时间】:2013-07-08 01:44:08
【问题描述】:

我正在构建一个需要抓取超过 500 万个 url 的爬虫。目前我正在使用以下方式将文件中的所有 url 加载到 start_urls 列表中,我发现这占用了太多内存。

self.start_urls = get_list_from_file(file_path)

所以我想知道是否有一种方法可以将网址一个一个地加载到内存中,这样我就可以保持较低的内存成本。

【问题讨论】:

    标签: python web-scraping scrapy


    【解决方案1】:

    当然,在蜘蛛上使用start_requests 方法。例如:

    def start_requests(self):
        reader = csv.reader(open('urls.csv'))
        for row in reader:
            url = row[0]
            yield Request(url=url)
    

    另外,最好让您的 get_list_from_file 函数用作生成器。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多