Proxy прикрутить к requests.get

Рейтинг: 1Ответов: 1Опубликовано: 17.02.2023

Я могу прикручивать руками и без обновления, но так не подходит, так как прокси умирают а проблема блока остаётся. Нашёл код с автообнавлением а он не рабочий.

import random

def get_free_proxies():
    url = "https://free-proxy-list.net/"
    # получаем ответ HTTP и создаем объект soup
    soup = requests.get(url).content, "html.parser"
    proxies = []
    for row in soup.find("table", attrs={"id": "proxylisttable"}).find_all("tr")[1:]:
        tds = row.find_all("td")
        try:
            ip = tds[0].text.strip()
            port = tds[1].text.strip()
            host = f"{ip}:{port}"
            proxies.append(host)
        except IndexError:
            continue
    return proxies
free_proxies = get_free_proxies()

print(f'Обнаружено бесплатных прокси - {len(free_proxies)}:')
for i in range(len(free_proxies)):
    print(f"{i+1}) {free_proxies[i]}")


def get_session(proxies):
    # создать HTTP‑сеанс
    session = requests.Session()
    # выбираем один случайный прокси
    proxy = random.choice(proxies)
    session.proxies = {"http": proxy, "https": proxy}
    return session

Ответы

▲ 0
import requests
from bs4 import BeautifulSoup

def get_free_proxies():
    url = "https://free-proxy-list.net/"
    response = requests.get(url)
    soup = BeautifulSoup(response.content, "html.parser")

    return soup.textarea.text.split('\n')[3:-1]

proxies = get_free_proxies()
print(f'Обнаружено бесплатных прокси - {len(proxies)}:')
for i, prox in enumerate(proxies, 1):
    print(f"{i} {prox}")