#python-3.x #multiprocessing
#python-3.x #многопроцессорная обработка
Вопрос:
Я хочу разделить запросы из списков.
first_list = ["https://www.url1.com", "https://www.url2.com"]
second_list = ["https://www.url3.com", "https://www.url4.com"]
third_list = ["https://www.url5.com", "https://www.url6.com"]
for url in first_list:
yield Request(url=url, callback=self.my_function)
for url in second_list:
yield Request(url=url, callback=self.my_function)
for url in third_list:
yield Request(url=url, callback=self.my_function)
Поместить каждый список внутри процесса.
Например:
В то время как обрабатывается первый URL-адрес из first_list, первые URL-адреса из second_list и third_list также обрабатываются (одновременно). И так далее.
ПРИМЕЧАНИЕ: Это НЕ Scrapy. Это настраиваемый паук. Это похоже на Scrapy, но это не так.
Комментарии:
1. вы хотите разделить вещи именно так? т.е. три процесса, выполняющие ровно два URL-адреса каждый.
map
inmultiprocessing.Pool
может позаботиться о том, какие задачи выполняются в каком процессе, и значительно упростит работу, если вы сможете его использовать2. @SamMason — Да, я знаю. Но как это сделать? Я пробовал некоторыми способами, но ничего не получалось. Моя последняя попытка была такой: ! Действительный XHTML . ! Допустимый XHTML . ! Допустимый XHTML .
3. как что делать? пожалуйста, отредактируйте вопрос, чтобы включить соответствующие детали, и не размещайте код в виде изображений, особенно изображений за пределами сайта