私は 500 万以上の URL をクロールする必要があるクローラーを構築しています。
self.start_urls = get_list_from_file(file_path)
そのため、URLを1つずつメモリにロードして、メモリコストを低く抑える方法があるかどうか疑問に思っています。
私は 500 万以上の URL をクロールする必要があるクローラーを構築しています。
self.start_urls = get_list_from_file(file_path)
そのため、URLを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
さらに、関数をジェネレーターとして機能させることをお勧めします。
それが役立つことを願っています。