Использование многопоточности с seleniumbase и разными проксиPython

Программы на Python
Гость
Использование многопоточности с seleniumbase и разными прокси

Сообщение Гость »

Моя задача:
Задача состоит в том, что мне нужно создать драйвер для каждой страницы со своим прокси и парсить эти страницы параллельно с другими драйверами. Также после сбора ссылок со страниц мне нужно уничтожить все драйвера и создать новые, чтобы у каждого драйвера тоже был свой уникальный прокси и чтобы они параллельно парсили товары с разных страниц.
Проблема:
Проблема в том, что каждый созданный драйвер имеет один и тот же IP-адрес из пула_прокси.
Код:

Код: Выделить всё

import concurrent.futures
import sys
from selenium.webdriver import ActionChains
import time
from selenium.webdriver.common.keys import Keys

sys.argv.append("-n")

pages = 3
pool_proxies_for_pages = ['proxy0', 'proxy1', 'proxy2']
pool_proxies_for_products = ['proxy5', 'proxy6', 'proxy7']

def create_undetected_webdriver(proxy):
driver = Driver(uc=True, proxy=proxy, agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36')
return driver

def parsing_products(page, list_for_pool, links):
driver = create_undetected_webdriver(list_for_pool[page])
#go through the products
for link in links:
driver.get(link)

def parsing_pages(page, proxy):
driver = create_undetected_webdriver(proxy)
url = f'https://www.ebay.com/e/_electronics/shop-all-ebay-refurbished-cell-phones?_pgn={page}'
driver.get(url)

#scrolling down
ActionChains(driver).send_keys(Keys.END).perform()
time.sleep(7)

# get links
elements = driver.find_elements("xpath", "//a[@tabindex='-1']")
links = []
for i in elements:
link = i.get_attribute("href")
links.append(link)

#destroy driver
driver.quit()
#parsing products
parsing_products(page, pool_proxies_for_products, links)

with concurrent.futures.ThreadPoolExecutor(max_workers=pages) as executor:
for page in range(pages):
executor.submit(parsing_pages, page, pool_proxies_for_pages[page])
Буду рад любому предложению.

Подробнее здесь: https://stackoverflow.com/questions/781 ... nt-proxies

Вернуться в «Python»