Лайфхаки

Маленькие, полезные хитрости

Подключение прокси в парсере. Публичные, общие или выделенные прокси?

09.03.2022 в 18:11

Подключение прокси в парсере. Публичные, общие или выделенные прокси?

Ещё один вопрос, который стоит обсудить — какие прокси использовать: публичные, общие или выделенные?

От публичных (или так называемых «открытых») прокси следует держаться подальше. У таких прокси низкое качество соединения, и они могут представлять для вас реальную "опасность". Эти прокси открыты для свободного подключения, поэтому через них проходит большое количество сомнительных запросов, что неизбежно ведет к попаданию в черные списки и блокировкам на сайтах. Самое плохое в них то, что эти прокси часто бывают заражены вредоносными программами. Если вы не настроили вашу безопасность должным образом (используя SSL-сертификаты и т.д.), то при использовании публичного прокси-сервера вы рискуете распространить существующее вредоносное ПО, заразить ваши собственные компьютеры и даже придать огласке ваши действия по парсингу сайтов.

Выбор между общими или выделенными прокси немного сложнее. В зависимости от масштаба вашего проекта, ваших потребностей в производительности и бюджета, вам может быть достаточно платной подписки на доступ к общему пулу IP-адресов. Однако, если вам позволяет бюджет и важна производительность, то лучше заплатить за выделенный пул прокси.

Итак, теперь у вас есть неплохое представление о том, что такое прокси и какие плюсы и минусы у разных типов IP-адресов прокси-серверов. Но выбор правильного прокси сервера — это вершина айсберга, самая сложная задача заключается же в управлении ими.

Парсинг прокси python. Парсинг новых прокси

Начнём с импортирования библиотек — нам понадобятся модули для отправления запросов, для парсинга и хранения данных.

import requests_html from bs4 import BeautifulSoup import pickle import requests

Все прокси будем хранить в множестве px_list , а также отправлять в pickle-файл proxis.pickle . В случае, если он не будет пустым, попробуем взять из него данные.

px_list = set() try: with open('proxis.pickle', 'rb') as f: px_list = pickle.load(f) except: pass

Функция scrap_proxy() будет заходить на сайт free-proxy-list.net и собирать оттуда 20 последних прокси. На сайте новые адреса появляются ежеминутно. Вот, как выглядит интересующая нас область сайта:

Из всего этого будем собирать ID Address и Port. Посмотрим, как элементы расположены в коде страницы:

Все нужные данные являются ячейками таблицы. В цикле будем брать первые 20 строк, обращаясь к IP-адресу и порту по  xpath . В конце функция будет отправлять свежие прокси в pickle-файл и возвращать список прокси.

Proxy parser python. Основная функция

Первым делом, напишем главную функцию (почему функция, а не процедура? В будущем нам будет необходимо запускать ее с помощью bind (нажатие клавиши), это легче сделать именно с функцией), а позже будем добавлять прочие функции. Процедуры, которые нам пригодятся:
  • config — вносит изменения в элементы виджетов. К примеру, мы будем заменять текст в виджетах Label.
  • update — используется для обновления виджета. Столкнемся с проблемой — виджет будет изменен только после завершения цикла, update позволяет обновлять содержимое виджета каждый проход цикла.
  • re.sub(шаблон, изменяемая строка, строка) — находит шаблон в строке и заменяет его на указанную подстроку. Если шаблон не найден, строка остается неизменной.
  • get — осуществляет http-запрос, если он равен «200» — вход на сайт был удачен.
  • content — позволяет получить html-код.

A-parser обзор. Пользователи

    Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

    Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2200+ и мы растем!

    Скрыть объявление

A-Parser: вводный

Метки:

  • a-parser
  • youtube
  • настройки
  • урок
  • Обзoр
  • Обсуждение
    В выпуске рассматриваются
    • Основные настройки рядового парсера на примере SE::Yandex
    • Настройки Антигейт
    • Настройки прокси с проверкой статуса и без
    • Основные инструменты тестирования результатов парсинга
    • Базовые методы работы с шаблонизатором результатов, переменные парсеров
    • Примеры создания заданий, и описание процедуры работы с Редактором заданий
    Подписывайтесь на наш канал!