Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将URL逐个加载到Scrapy中_Python_Web Scraping_Scrapy - Fatal编程技术网

Python 如何将URL逐个加载到Scrapy中

Python 如何将URL逐个加载到Scrapy中,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,我正在构建一个需要抓取超过500万个URL的爬虫程序。目前,我使用以下方法将文件中的所有URL加载到start_URL列表中,我发现这占用了太多内存 self.start_urls = get_list_from_file(file_path) 所以我想知道是否有一种方法可以将URL一个一个地加载到内存中,这样我就可以保持较低的内存成本。当然,请使用爬行器上的方法。例如: def start_requests(self): reader = csv.reader(open('urls.

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

self.start_urls = get_list_from_file(file_path)
所以我想知道是否有一种方法可以将URL一个一个地加载到内存中,这样我就可以保持较低的内存成本。

当然,请使用爬行器上的方法。例如:

def start_requests(self):
    reader = csv.reader(open('urls.csv'))
    for row in reader:
        url = row[0]
        yield Request(url=url)
另外,让您的
get\u list\u from\u file
函数作为生成器工作也是一个好主意

希望有帮助