Вчера был именно тот день, когда я сказал себе: "Еслия я хочу регулярно "граббить" сайты, то буду заваливать их запросами... Они меня легко "вычислят" и забанят. Причем, вычислят не просто "легко", а "показательно легко" ... Кардинальное решение проблемы - анонимайзер ...??? И я решил разобраться, как это делают другие?
Источники информации¶
Google python proxy list scraper
Кто же пройдет мимо такого заголовка - миллион точек в день...
Scraping One Million Points A Day, Here's How (TUTORIAL)
Scraping with a fresh IP every time. I bet you want this.
"Cloak" is call based API which means that it is controlled by requesting variations of a URL
Enough with the Search Engine
PyProxy | Proxy Hunter and Tester, A high-level cross-protocol proxy-hunter python library
Офтоп идея для общего развития
Что такое browsermob-proxy и как заставить его работать? Туториал для начинающих. Пример использования на Python
Примеры кода
grab Работа с прокси-серверами
python proxy list check
BUILDING A PROXY SCRAPER WITH 15 LINES OF PYTHON
http://proxscan.sourceforge.net/
free-proxy-list.net - пример сайта со списком прокси
Поиск "linux web scraper" сначала вывел софт, а потом на scraping.pro
linux web scraper
IP Proxy Scraper - Linux Extracts multiple proxies from a list of websites
Linux rapidshare grabber
Несколько замечательных статей с сайта scraping.pro
Web Scraping proxy
An Independent Review of Kimono Labs Web Scraping Service
CyberGhost: a nice freemium proxy
Does HideMyAss’s “Scheduled IP Change” feature really work?
Proxify® SwitchProxy™ is an anonymous proxy service for automated systems of any scale
About Proxy Servers - профиль автора сайта ниже
Founder в scraping.pro (Индивидуальное предприятие) - список клубов LinkedIn
Кто же пройдет мимо такого заголовка - миллион точек в день...
Scraping One Million Points A Day, Here's How (TUTORIAL)
Scraping with a fresh IP every time. I bet you want this.
"Cloak" is call based API which means that it is controlled by requesting variations of a URL
Enough with the Search Engine
PyProxy | Proxy Hunter and Tester, A high-level cross-protocol proxy-hunter python library
Офтоп идея для общего развития
Что такое browsermob-proxy и как заставить его работать? Туториал для начинающих. Пример использования на Python
Примеры кода
grab Работа с прокси-серверами
python proxy list check
BUILDING A PROXY SCRAPER WITH 15 LINES OF PYTHON
http://proxscan.sourceforge.net/
free-proxy-list.net - пример сайта со списком прокси
Поиск "linux web scraper" сначала вывел софт, а потом на scraping.pro
linux web scraper
IP Proxy Scraper - Linux Extracts multiple proxies from a list of websites
Linux rapidshare grabber
Несколько замечательных статей с сайта scraping.pro
Web Scraping proxy
An Independent Review of Kimono Labs Web Scraping Service
CyberGhost: a nice freemium proxy
Does HideMyAss’s “Scheduled IP Change” feature really work?
Proxify® SwitchProxy™ is an anonymous proxy service for automated systems of any scale
About Proxy Servers - профиль автора сайта ниже
Founder в scraping.pro (Индивидуальное предприятие) - список клубов LinkedIn
Что я знал о проблеме до того, как прочитал все, что сейчас буду цитировать? Пожалуй, все..., но все это было в виде каши из прокси, сокетов (изучал накануне), краулеров с возможностью подключения прокси. Что-то меня заставляло бояться экспериментов в веб-скрепперами, коих я собрал уже изрядное количество.
Навязчивая боязнь бана вчера пересилила установку на системное "неспешное" изучение Пайтона и подготвку инструментов (библиотек) для граббинга. И я решил, что пора выстроить модель работы с прокси..., и собираюсь об этом "выстраивании" написать, однако, начнем с конца... вот, что получилось:
Навязчивая боязнь бана вчера пересилила установку на системное "неспешное" изучение Пайтона и подготвку инструментов (библиотек) для граббинга. И я решил, что пора выстроить модель работы с прокси..., и собираюсь об этом "выстраивании" написать, однако, начнем с конца... вот, что получилось:
Как должен работать анонимайзер¶
- Проверяем список сайтов - баз данных прокси-листов.
- Обходим соответствующие страницы сайтов и формируем (вырезаем) прокси-листы.
- Сливаем прокси листы, проверяем прокси-листы.
- По результатам проверки формируем локальные (временные) файлы прокси-листов
- Настраиваем программы-грабберы на работу с использованием файлов прокси-листов.
- Организуем периодические проверки файлов прокси-листов.
- Организуем периодические обновления файлов прокси-листов.
- Еще бы модуль для замера скоростиработы каждого прокси.
Оставшиеся вопросы ( на будущее ???)¶
А есть ли принципиально другие варианты, кроме прокси-анонимайзеров? Как сервер защищается от "большого количества запросов с конкретного IP в единицу времени" Можно делать паузы, но небольшие ... (в порядке бреда)
Попытка сформулировать методологию моей работы по изучению proxy¶
Сначала хотел написать, что мне повезло, поскольку я быстро нашел сайты профессионалов с подробным описанием процессов парсинга и обсуждением прокси. Главный материал Scraping One Million Points A Day, Here's How (TUTORIAL).
А сегодня дописываю эту статью, и, прежде, чем сделать выводы, хочу похвалть себя - мне повезло потому, что задачка (поиска информации) была поставлена правильно.
Надо было искать статьитех, кто занимается этим профессионально.
Надо было искать библиотеки Python и смотреть, как эта опция (анонимизации) реализована у них.
Надо было найтм "тусовки" (клубы, форумы, ...сообщества) пользователей прокси-листов.
Надо было искать любой софт "proxy list", а потом найти софт по запросу "proxy list checker".
В результате я нашел изрядное количество прекрасных программ, из которых две установил.
gatherproxy.com.
Proxyfire is a powerful proxy server hunter and checker!.
Интересной показалась и библиотека Python, управляется из комадной строки.
Есть и другие библиотеки Python
А сегодня дописываю эту статью, и, прежде, чем сделать выводы, хочу похвалть себя - мне повезло потому, что задачка (поиска информации) была поставлена правильно.
Надо было искать статьитех, кто занимается этим профессионально.
Надо было искать библиотеки Python и смотреть, как эта опция (анонимизации) реализована у них.
Надо было найтм "тусовки" (клубы, форумы, ...сообщества) пользователей прокси-листов.
Надо было искать любой софт "proxy list", а потом найти софт по запросу "proxy list checker".
В результате я нашел изрядное количество прекрасных программ, из которых две установил.
gatherproxy.com.
Proxyfire is a powerful proxy server hunter and checker!.
Интересной показалась и библиотека Python, управляется из комадной строки.
Есть и другие библиотеки Python
Вот эти две библиотеки я буду изучать в ближайшее время:¶
Avoiding getting banned - убогие советы от Scrapy¶
Вот ссылка на первоисточник doc.scrapy.org. А ниже копипаст всего небольшого параграфа с довольно длинной страницы.
Some websites implement certain measures to prevent bots from crawling them, with varying degrees of sophistication. Getting around those measures can be difficult and tricky, and may sometimes require special infrastructure. Please consider contacting commercial support if in doubt.
Here are some tips to keep in mind when dealing with these kind of sites:
rotate your user agent from a pool of well-known ones from browsers (google around to get a list of them)
disable cookies (see COOKIES_ENABLED) as some sites may use cookies to spot bot behaviour
use download delays (2 or higher). See DOWNLOAD_DELAY setting. if possible, use Google cache to fetch pages, instead of hitting the sites directly
use a pool of rotating IPs. For example, the free Tor project or paid services like ProxyMesh
use a highly distributed downloader that circumvents bans internally, so you can just focus on parsing clean pages. One example of such downloaders is Crawlera
If you are still unable to prevent your bot getting banned, consider contacting commercial support.
Some websites implement certain measures to prevent bots from crawling them, with varying degrees of sophistication. Getting around those measures can be difficult and tricky, and may sometimes require special infrastructure. Please consider contacting commercial support if in doubt.
Here are some tips to keep in mind when dealing with these kind of sites:
rotate your user agent from a pool of well-known ones from browsers (google around to get a list of them)
disable cookies (see COOKIES_ENABLED) as some sites may use cookies to spot bot behaviour
use download delays (2 or higher). See DOWNLOAD_DELAY setting. if possible, use Google cache to fetch pages, instead of hitting the sites directly
use a pool of rotating IPs. For example, the free Tor project or paid services like ProxyMesh
use a highly distributed downloader that circumvents bans internally, so you can just focus on parsing clean pages. One example of such downloaders is Crawlera
If you are still unable to prevent your bot getting banned, consider contacting commercial support.
Выводы¶
- Задача поиска, сортировки, проверки прокси-листов - это самостоятельная задача
- Результат работы программы - это файлы со списками прокси.
- Важно, если файлы периодически автоматически обновляются.
- Скрипт, использующий список прокси должен уметь переключать (rotate) адреса (строки листа) прокси.
ProxyFire обслуживает список прокси (для начала это именно то, что надо). Но как автоматически переключать прокси серверы при паринге(граббинге) сайта?
Полагаю, что далее надо будет попробовать, как работает соответствующий код из grab.
Полагаю, что далее надо будет попробовать, как работает соответствующий код из grab.
Посты чуть ниже также могут вас заинтересовать
Комментариев нет:
Отправить комментарий