Рубрики
Без рубрики

10 советов, чтобы избежать заблокированного во время соскоба сайтов

В этом посте мы собираемся понять, как мы можем избежать блокировки во время соскабливания

Автор оригинала: Manthan Koolwal.

Скарот данных – это то, что должно быть сделано довольно ответственно. Вы должны быть очень осторожны на веб-сайте, который вы соскабливаете. Это может иметь негативное воздействие на сайт. На рынке есть бесплатные веб-скребки, которые могут плавно просматривать любой веб-сайт без заблокированного. Многие веб-сайты в Интернете не имеют анти-соскобного механизма, но некоторые веб-сайты делают блокировку скребков, потому что они не верят в открытый доступ к данным. Одна вещь, которую вы должны иметь в виду, это будьте приятной и следуют соскобной политике веб-сайта, но если вы строите веб-скребки для вашего проекта или компании, вы должны следовать этим 10 советам, прежде чем даже запустить любой веб-сайт.

1. Robots.txt.

Прежде всего, вы должны понимать, что такое файл Robots.txt и какова его функциональность. Таким образом, в основном он рассказывает поисковые программы Crawlers, которые страниц или файлы могут или не могут запросить с вашего сайта. Это используется в основном, чтобы избежать перегрузки любого сайта с запросами. Этот файл предоставляет стандартные правила о соскании. Многие сайты позволяют Google позволить им соскрести свои веб-сайты. Можно найти файл Robots.txt на веб-сайтах – http://example.com/robots.txt.

Иногда определенные сайты имеют Пользовательский агент : * или Запретить:/ В их файле Robots.txt, что означает, что они не хотят, чтобы вы соскребали свои веб-сайты. В основном противоскользящий механизм работает в фундаментальном правиле: это бот или человек? Для анализа этого правила он должен следовать определенным критериям, чтобы принять решение.

Очки, упомянутые антискоростным механизмом:

  1. Если вы соскабливаете страницы быстрее, чем человек, возможно, вы попадете в категорию под названием «Bots».
  2. После того же образца во время сочетания. Как например, вы проходите через каждую страницу этого целевого домена для сбора изображений или ссылок.
  3. Если вы соскабливаетесь с использованием того же IP в течение определенного периода времени.
  4. Пользовательский агент отсутствует. Может быть, вы используете навернутый браузер, например Браузер Tor

Если вы удерживаете эти точки в виду, соскребая веб-сайт, я уверен, что вы сможете просмотреть любой веб-сайт в Интернете.

2. Вращение IP

Это самый простой способ для противоскользящих механизмов, чтобы поймать вас на красных. Если вы продолжаете использовать тот же IP для каждого запроса, вы будете заблокированы. Таким образом, для каждого успешного запроса скрепления вы должны использовать новый IP для каждого запроса. У вас должен быть пул не менее 10 IPS, прежде чем сделать HTTP-запрос. Чтобы избежать заблокированного, вы можете использовать службы вращения прокси, такие как ScrapingDog или любой другой Прокси услуги Отказ Я помещаю маленький фрагмент кода Python, который можно использовать для создания пула нового IP-адреса, прежде чем сделать запрос.

from bs4 import BeautifulSoup
import requests
l={}
u=list()
url="https://www.proxynova.com/proxy-server-list/country-"+country_code+"/"
respo = requests.get(url).text
soup = BeautifulSoup(respo,'html.parser')
allproxy = soup.find_all("tr")
for proxy in allproxy:
 foo = proxy.find_all("td")
 try: 
     l["ip"]=foo[0].text.replace("\n","").replace("document.write(","").replace(")","").replace("\'","").replace(";","")
 except:
   l["ip"]=None
 try:
  l["port"]=foo[1].text.replace("\n","").replace(" ","")
 except:
  l["port"]=None
 try:
  l["country"]=foo[5].text.replace("\n","").replace(" ","")
 except:
  l["country"]=None
 if(l["port"] is not None):
  u.append(l)
 
 l={}
print(u)

Это обеспечит вам ответ JSON с тремя свойствами, которые являются IP, порт и страной. Этот прокси API предоставит IPS в соответствии с кодом страны. Вы можете найти код страны здесь Отказ Но для сайтов, которые имеют расширенный механизм обнаружения бота, вы должны использовать мобильные или жилые прокси. Вы можете снова использовать ScrapingDog для таких услуг. Количество IPS в мире исправлено. Используя эти услуги, вы получите доступ к миллионам IPS, которые можно использовать для прорастания миллионов страниц. Это лучшее, что вы можете сделать, чтобы успешно соскренить в течение более длительного периода времени.

3. пользовательский агент

Пользовательский агент Заголовок заголовка Является ли символьная строка, которая позволяет серверам и сетевым сверстникам определить приложение, операционную систему, поставщик и/или версию запроса пользовательский агент Отказ Некоторые веб-сайты блокируют определенные запросы, если они содержат пользовательский агент, который не принадлежит к основным браузере. Если агенты пользователей не установлены, многие веб-сайты не позволят просматривать их контент. Вы можете получить свой пользовательский агент, набрав, что такое мой пользовательский агент в Google. Вы также можете проверить свою пользовательскую строку здесь: http://www.whatsmyuseragent.com/ Несколько ту же технику используется анти-соскобным механизмом, который они используют при запрете IPS. Если вы используете тот же пользовательский агент для каждого запроса, вы будете запрещены в кратчайшие сроки. Каково решение? Ну, решение довольно простое, вы должны либо создать список пользователей, либо, возможно, использовать библиотеки, такие как Поддельные постраиватели Отказ Я использовал обе методы, но для целей эффективности, я призываю вас использовать библиотеку. Строкольный список пользователей, чтобы начать работу, можно найти здесь: http://www.useragentstring.com/pages/useragentstring.php https://developers.whatismybrowser.com/useragents/explore/

4. Сделайте соскабливание медленнее, сохраните случайные интервалы между

Как вы знаете, скорость ползающих веб-сайтов людьми и ботами очень отличается. Боты могут просматривать веб-сайты очень быстрыми темпами. Сделайте быстрые ненужные или случайные запросы на сайт не для всех. Благодаря этой перегрузке запросов на сайт может снижаться. Чтобы избежать этой ошибки, сделайте свой бот в программном стиле между процессами соска. Это заставит ваш бот выглядеть более человеком для механизма против соскабливания. Это также не повредит веб-сайту. Скрепите наименьшее количество страниц за раз, делая одновременные запросы. Поместите тайм-аут от 10 до 20 секунд, а затем продолжайте соскоб. Как я уже говорил ранее уважаю файл Robots.txt. Используйте автоматические механизмы дросселирования, которые автоматически включают скорость вспышки на основе нагрузки как на пауке, так и на веб-сайте, который вы ползаете. Отрегулируйте паук на оптимальную вспышку после нескольких испытаний. Делайте это периодически, потому что окружающая среда со временем меняется.

5. Изменение соскоба шаблона и обнаружение изменить сайт

Как правило, люди не выполняют повторяющиеся задачи, поскольку они просматривают сайт со случайными действиями. Но веб-соскобцы будут ползти в том же образце, потому что они запрограммированы, чтобы сделать это. Как я уже говорил ранее, некоторые веб-сайты имеют отличные противоскользящие механизмы. Они поймают ваш бот и будут запрещать его навсегда. Теперь, как вы можете защитить свой бот от пойманного? Это может быть достигнуто путем включения некоторых случайных щелчков на странице, движения мыши и случайных действий, которые сделают паук выглядеть как человек. Теперь еще одна проблема – это многие веб-сайты меняют свои макеты по многим причинам, и из-за этого ваш скребок не сможет принести данные, которые вы ожидаете. Для этого у вас должна быть идеальная система мониторинга, которая обнаруживает изменения в их макетах, а затем предупреждает вас с сценарием. Тогда эта информация может использоваться в вашем скребке, чтобы работать соответственно. Один из моих друзей работает в большом интернет-туристическом агентстве, и они ползают в Интернете, чтобы получить цены на их конкуренты. При этом у них есть система мониторинга, которая отправляет их каждые 15 минут о состоянии их макетов. Это держит все на пути, и их скребок никогда не нарушается.

6. Заголовки

Когда вы делаете запрос на сайт из вашего браузера, он отправляет список заголовков. Используя заголовки, веб-сайт анализирует о вашей личности. Чтобы ваш скребок выглядел более человеком, вы можете использовать эти Заголовки Отказ Просто скопируйте их и вставьте их в свой объект заголовка внутри вашего кода. Это заставит ваш запрос выглядеть так, как будто это приходит из настоящего браузера. Кроме того, использование вращения IP и пользовательского агента сделают ваш скребок нераспускаемым. Вы можете Scrape любой веб-сайт, будь то динамический или статический. Я почти уверен, что используете эти методы, которые вы сможете побить 99,99% противоскользящих механизмов. Сейчас есть заголовок «Спорим». Это заголовок HTTP-запроса, который позволяет сайту знать, откуда вы прибываете. Как правило, это хорошая идея, чтобы настроить это так, чтобы она выглядела так, будто вы поступаете из Google, вы можете сделать это с заголовком: «Резервью»: «https://www.google.com/» Вы можете заменить его в https://www.google.co.uk или Google.in Если вы пытаетесь пролить сайты на базе в Великобритании или Индии. Это заставит ваш запрос выглядеть более подлинным и органическим. Вы также можете посмотреть самые распространенные рефереры на любой сайт, используя инструмент, похожий на https://www.similarweb.com, часто это будет сайте социальных медиа, такими как YouTube или Facebook.

7. Безголовый браузер

Сайты отображают свой контент на основе которого вы используете браузер. Некоторые отображаются по-разному на разных браузерах. Давайте возьмем пример поиска Google. Если браузер (идентифицированный пользовательским агентом), имеет расширенные возможности, сайт может представить «богаче» содержимого – что-то более динамичное и стиль, которое может иметь тяжелую зависимость от JavaScript и CSS. Проблема с этим заключается в том, что при выполнении любого типа Scraping содержимое отображается кодом JS, а не Raw HTML-ответ на сервер доставляет. Чтобы соскрести эти веб-сайты, вам может потребоваться развернуть свой собственный браузер без головы (или иметь ScrapingDog сделать это для вас!). Автоматизация браузеров, как Селен или Кукла Обеспечивает API для управления браузерами и Scrape динамические веб-сайты. Должен сказать, что многие усилия идут за создание этих браузеров неоправданными. Но его самый эффективный способ соскрести на сайт. Вы даже можете использовать определенные браузера Услуги позволяют открыть экземпляр браузера на своих серверах, а не увеличивая нагрузку на свой сервер. Вы можете даже открыть более 100 экземпляров одновременно на своих услугах. Итак, все и все это благополучное для соскобной промышленности.

8. Услуги по решению CAPTCHA

Многие веб-сайты используют recaptcha из Google, который позволяет пройти тест. Если тест проходит успешно в течение определенного периода времени, то он считает, что вы не бот, а настоящий человек. F Вы соскабливаете веб-сайт в крупном масштабе, веб-сайт в конечном итоге заблокирует вас. Вы начнете видеть страницы CAPTCHA вместо веб-страниц. Есть услуги, чтобы пройти последние ограничения, такие как ScrapingDog Отказ Обратите внимание, что некоторые из этих услуг по решению CAPTCHA являются довольно медленными и дорогими, поэтому вам может потребоваться рассмотреть вопрос о том, все еще экономически жизнеспособны, чтобы соскреслите сайты, которые требуют непрерывного решения CAPTCHA со временем.

## 9. Хонепортные ловушки Есть невидимые ссылки для обнаружения взлома или веб-соска. На самом деле это приложение, которое имитирует поведение реальной системы. Определенные веб-сайты установили на их системе, которые невидимы обычным пользователем, но можно увидеть ботами или веб-скрещими. Вам необходимо выяснить, имеет ли ссылку «дисплей: none» или «видимость: скрытые» набор свойств CSS, и если они избегают по этой ссылке, в противном случае сайт сможет правильно идентифицировать вас как программный скребок, отпечаток пальца Свойства ваших запросов и блокируют вас довольно легко.

Honeypots являются одним из самых простых способов для смартвых веб-мастеров для обнаружения Clawners, поэтому убедитесь, что вы выполняете эту проверку на каждой странице, которая вы соскрести.

10. Google Cache.

Теперь, когда-нибудь Google держит кэшированную копию некоторых веб-сайтов. Таким образом, вместо того, чтобы сделать запрос на этот сайт, вы также можете сделать запрос на него кэшированную копию. Просто предшествуйте: «На начало URL. Например, чтобы соскрести документацию SCRAPINGDOG, вы можете соскрести: https://www.scrapingdog.com/documentation”.

Но одна вещь, которую вы должны иметь в виду, это то, что эта методика должна использоваться для веб-сайтов, которые не имеют конфиденциальной информации, которая также продолжает меняться. Как например, LinkedIn сообщает Google не кэшировать свои данные. Google также создает кэшированную копию веб-сайта в определенный интервал времени. Это также зависит от популярности веб-сайта.

Надеюсь, вы узнали новые советы со связью, прочитав эту статью. Я должен напомнить вам, чтобы уважать файл robots.txt. Кроме того, попробуйте не делать большие запросы на меньшие сайты, потому что у них не может быть бюджета, что имеют крупные предприятия.

Не стесняйтесь комментировать и спросите меня что-нибудь. Вы можете следовать за мной на Twitter и Средний Отказ Спасибо за чтение и нажмите кнопку «Нравится»! 👍.

Дополнительные ресурсы

И есть список! На данный момент вы должны чувствовать себя комфортно, написав свой первый веб-скребок, чтобы собрать данные с любого веб-сайта. Вот несколько дополнительных ресурсов, которые вы можете найти полезным во время вашего веб-путешествия: 10 лучших поставщиков прокси центра обработки данных Веб соскоб с Nodejs Веб соскоб с java Веб соскоб с Python Бесплатный список прокси Веб соскоб с JavaScript