Парсинг сайтов

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску

Парсинг сайтов — это как Ctrl+C/Ctrl+V, только для всего интернета сразу, и желательно чужого. Высокотехнологичное искусство (или ремесло, кому как) автоматизированного тыринга данных с веб-страничек, которое позволяет бизнес-акулам, сеошникам-колдунам, спецслужбам и детективам, и просто любопытным Варварам набить свои закрома информацией, не утруждая себя ручным кликаньем и копипастой. Некоторые называют это «сбором публичных данных», но мы-то знаем.

Суть явления[править]

Представь, Анон, что тебе внезапно приспичило узнать цены на все утюги у конкурентов. Или собрать все телефоны шаурмечных твоего Мухосранска для очередной гениальной маркетинговой идеи. Или, может, ты решил создать свой собственный Яндекс.Маркет, но без регистрации и SMS. Руками это делать — удел офисного планктона и прочих страдальцев. Настоящие же цифровые ниндзя пишут скрипт на Питоняшке (потому что другие языки — это слишком многа букаф, как часто уверяют адепты), который сам пробежится по сайтам, выдернет нужные циферки и буковки, сложит их в красивую табличку и принесет на блюдечке с голубой каемочкой.

Гуру этой дисциплины, часто выходцы из SEO или просто кодеры, не чуждые темной стороне силы (иногда они же крутят ПФ, что как бы намекает), регулярно вещают о том, как постигли дзен парсинга интернет-магазинов и сайтов услуг, и готовы поделиться сакральным знанием с широкими массами. Основной посыл — парсинг нужен всем: бизнесу для подглядывания за конкурентами, сеошникам для анализа выдачи и контента, маркетологам для баз прозвона, и даже нейронкам для обучения на ворованных текстах. Обещают много сжатой, структурированной информации, которая откроет третий глаз на бизнес-процессы. Ну ты понял. Много, сжато, структурированно. Как архив с трояном.

Орудия труда[править]

Итак, чем же ковырять сайты? Если сайт статический, как мамонт (простой HTML, без свистоперделок), то хватит связки из библиотеки `requests` (чтобы постучаться на сайт и получить ответ) и `BeautifulSoup` (она же BS4, чтобы разгрызть этот HTML на запчасти). Это как отмычка и фомка — просто, сердито, классика.

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

  • Selenium — старый, древний, но все еще поддерживаемый комбайн. Медленный, жрет ресурсы как не в себя, но умеет многое. Для неспешного парсинга раз в год сойдет.
  • Playwright — модный, стильный, молодежный инструмент от Мелкософта. Работает быстрее, поддерживает асинхронность (это когда скрипт делает много дел одновременно, не тупит), умеет притворяться разными устройствами и геолокациями. Выбор современного парсера-джентльмена.

Чтобы эти инструменты не спалились на первой же линии обороны Клаудфлеера или ему подобных, их приходится «пропатчивать». Появляются Undetected ChromeDriver (для Selenium) и PatchWright (для Playwright) — это те же инструменты, но с подпиленными серийниками и фальшивыми усами, чтобы анти-бот системы думали, что это живой юзер, а не бездушная машина.

Превозмогание[править]

Сайты, конечно, не любят, когда их парсят. Это нагружает их сервера и тешит ЧСВ их админов. Поэтому они отбиваются как могут:

  • Проверяют заголовки запроса (Headers) и User-Agent (строка, которой браузер представляется сайту). Лечится подстановкой правдоподобных заголовков, желательно с ротацией (чтобы каждый запрос выглядел немного иначе). Для ленивых есть cURL converter — скопировал запрос из браузера, вставил, получил готовый код с хедерами. Профит!
  • Банят по IP за слишком частые запросы. Лечится использованием прокси (особенно мобильных с ротацией IP) и рандомными задержками между запросами.
  • Показывают CAPTCHA. Лечится подключением сервисов типа Рукапчи, которые за копеечку решат ребус за тебя.
  • Используют сложные JS-проверки и фингерпринт браузера. Лечится продвинутыми эмуляторами типа Playwright, которые умеют имитировать всё вплоть до разрешения экрана и установленных плагинов. Иногда приходится воровать куки у реального браузера (привет, EditThisCookie!).

В общем, парсинг — это вечная игра в кошки-мышки. Ты придумываешь обход, они придумывают новую защиту. Лулзы гарантированы.

Нейросети спешат на помощь?[править]

Модный ИИ добрался и сюда. Зачем ковыряться в HTML, искать классы и теги, если можно просто сказать: «Джипити, дай мне все цены с этой страницы»?

  • ScrapeGraph AI — библиотека, которая использует LLM (OpenAI, Claude, можно даже локальную Ламу поднять через LM Studio) для извлечения данных. Просто скармливаешь ей HTML и промпт (задачку текстом), она сама разбирается. Минусы: требует денег на токены API или мощное железо для локальной нейронки.
  • Crawl4AI — еще один инструмент, заточенный под подготовку данных для нейросетей. Быстрый, асинхронный, умеет чистить контент.

Идея заманчивая: вместо изучения тонн документации и отладки кода — просто научиться правильно формулировать хотелки для ИИ. Знающие люди намекают, что джуны скоро будут не нужны, а рулить будут те, кто умеет грамотно ставить задачи нейронкам. Звучит как прогресс.

Частные случаи и лайфхаки[править]

  • Парсинг Телеги: Используются фреймворки типа `Telethon` или `Pyrogram`. Позволяют автоматизировать всё: от скачивания мемасиков до мониторинга активности в чатах конкурентов. Главное — не спалить свой основной аккаунт.
  • Парсинг YouTube: Утилита yt-dlp — швейцарский нож для скачивания видео и аудио. Работает из командной строки, обходит региональные блокировки, качает плейлисты, каналы, может вытащить только звук. Маст хэв.
  • JSON форматеры: Веб-сервисы, которые превращают кашу из JSON-ответа сервера в читаемую структуру. Полезно при работе с API.
  • Crontab UI: Веб-морда для планировщика задач cron. Чтобы не мучиться с консолью, настраивая запуск парсера по расписанию.

А мораль?[править]

А морали нет. На вопросы о накрутке ПФ и прочих серых методах адепты обычно отвечают в духе: > …в мире вообще треш, дичь полная, и кого-то волнует моральная сторона? Слушайте, это ну ерунда полная… без [сомнительный метод] в большинстве коммерческих ниш… вы топ не займете никогда… делают все, это реалии рынка…

Так и с парсингом. Данные лежат в открытом доступе? Значит, их можно (и нужно?) собирать. Законодательно это обычно не запрещено (пока?). А если владелец сайта не хочет, чтобы его данные утащили — пусть лучше защищается. Это капитализм, детка. Или анархия, тут уж как посмотреть.

34634676.png Мелкие сайты возжужжали, словно пчёлки в полноценном лоре
ОтветыОтветы@Mail.ruВопросы и ОтветыЯндекс.ОтветыРуТвитChabad.orgChange.orgКинориумSpeedrun.comРелигииВикиCreationWikiКтотут.рфПравила сайтаGozleKapi.BarInfoWarsБесплатный хостингCs.rin.ruБлокировка Twitch в РоссииFreeNavalnyХорватская википедияOurworldoftextВТопеWB GuruЗомбоTilda.wsWormGPTПарсинг сайтовGoogle TrendsDowndetectorLiter-commatic.comKemono.suЗаспамленностьLolzTeamЦЕРНачDreamwidthИнет-МафияУгадай цветКиносферумПейволлFootmodels.ruSetka.ruOtvet.Live
Поп-сайтыАлиэкспрессАвитоAnekdot.ruБашоргChampionat.comChatRoulette.comDemotivation.meGuns.ruGoHa.RuHalf-life.ruMail.ruNarod.ruPlayground.ruProdota.ruStopGame.ruTwitch.tvUcozUdaff.comYTMNDZadolba.liАг.руАри.руНяшПикабуСайты знакомствСвалкоСделано у насСекснародЛепрозорий.руДраматикаСтульчик.нетДромKickstarterSapeKufarAirbnbNEWSru.co.ilPQ HostingЯндекс.МузыкаПремьершип.руYaplakal.comPointГала.нетCarambaTVLifeNewsКосчессAll EsteroЗнаю твой Мем
ПропиратскиеClubhouseАрхивы реддитаStalinism.ruElementy.ruЗвуки.руRap.ruRuTubeInfostoreNoNaMeRapidshareRGHostRutracker.orgThe Pirate BayTokyo ToshokanЗайцев.нетЛибрусекНойзбункерDarknet.wtfNNM-ClubСоциальный компасAparatStrannik.deWiki.c2.comRtrvr.aiМирТесенLordfilmZOOM PlatformCodeberg.orgАптаймБыдлосайтHydraKernel.orgFontfeed.ruФишки.нетBiboran.comАвачаВикиTuteta.ru
Анально огороженныеДети-404РеддитSonic CISEnsiklopedia.ruRu-CenterФрилансимSkotobaza.orgPobedish.ruGitHubAudiopoisk.comPaleoNewsTrust & SafetyЛепрозорийМиротворец (сайт)ГоднотабаУпячкаХабраGlasscannon.ruLessWrongPrintdirect7kingdomsbastardsФорум DF2Chatadelic.netЁпенYappyZetflixHDRobotstreamer.comAitubeFootball.uaТопор 18+OpennetЛождь (канал)СасфликсVideobel.by (видео-хостинг)NuumАгрегаторТолВикиЛетописи.ру
КреатиффныеFlightradarWibyСимулятор доната Diablo ImmortalРусофоболокаторDurovLohТелеканал ЦарьградAnna NewsReadovkaЦитатник РунетаJoyreactorHabrahabrTV TropesAuthor.todayAeterna.ruНигмаDirty.ruFuck.ruGameDev.ruLitprom.ruRocketboomSmotri.comSomething AwfulTikTokYouTubeДТФКавказ-ЦентрКино-Говно.комКинопоискChess-samara.ruЛавхейтЛОРImgurPosmotreli.suСловарь молодёжного сленгаКиноЦензорTrovoЯндекс ДзенFanserialsKinogoKinoprofiBaskinoLostfilmColdfilmKerobtvКинопоискPixivDeviantArtФикбукFanfics.mePixelPlanetИА ПанорамаФорум ВинскогоRulateBookmatePinterestStremioPastebinKnow Your MemeЖурнал СамиздатMista.ruЯПлакалъСтихи.руГенератор ругательствDslrvideo.ruАнонимный чат
МетаПрочие сайты
Tower logo.jpg Каждый может обмануть, если человек — лох и не думает
ПриёмыФейковые аккаунтыСамообстрелРынок отношенийПопулярная психологияМетод использования силы противникаХайп-проектБизнес на жаждеСрочный сборДоведение до абсурдаЖить сейчасЛохотронАккаунт угналиАнтропный принципЯкобыГазета про здоровьеFantasy.aiВыдача себя за лесбиянкуКитайская подделкаЧетыре всадника ИнфокалипсисаМассовые фальсификации на выборах-2021Поддельные версии Grand Theft Auto (GTA)АвтохукБуст аккаунта в ДотеКвартира Ларисы ДолинойПарсинг сайтовНейросеть ПутинБотофермаАбсурд и неожиданность для управленияЗомбированиеЗатягивание переговоровУловка пугалаАффирмацияМеталожьТроица GPTАргумент Санта-КлаусаНестандартное мышлениеЛиберальный новоязBcg.toСловесная интервенцияНакрутка зрителей на TwitchОтмазШпаргалкаОфшорHoneypotБумажный тигрЭто не просто X, это YРейтингЗоопопрошайничествоSMMРяженые под христианКомплекс осла и тигра
МетодикиРеклама мобильных игрТимелинеКукла вудуОбратный отсчётЧёрный ходАнтигололёдный реагентБиохакерПятирублёвый столбикРеклама Гидры на Lenta.ruБрак из-за мобилизацииКрайне больших размеров рояльЧастотная РеволюцияСамоподрывРевью-бомбингЗвонок-сбросШринкфляцияГлобальные постановкиПодмена понятийПодмена тезисаМентальная гимнастикаКредитный кооперативУдаление надписи СССР со шлема ГагаринаЗабастовки на складах AmazonЛох не мамонт, лох не вымретБредовая реклама в ТелеграмеГомоцензура в консервативных странахСамопиарСлив базы данных Яндекс.ЕдыЛутбоксМошеннические колл-центры в российских тюрьмахСливной бачок режимаФактчекФейковое сообщение в DiscordОвербукингНапёрсточникФетиш на слово президентРечекрякМаскировка творчества нейросети
ЗлоТарелочницыПочтовое голосованиеСаморазвитиеИзменение голосаПереписывание истории в западных странахПрогревПозитивРешалаHYIPДропСтартапНе насосала, а подарилиЗолотой век жуликовБест ВэйМММФабрика дипломовHamster KombatСтранная войнаЭффект большой деревниЗаконы пиараТик-ток войныТапалки в ТелеграмеНенависть к ТрампуПолитическое враньёПронос змей в штанахПартнерка Яндекс БраузераПовязать кровьюСоль РусиПопулярностьКакое-тобольствоНематериальное стимулированиеУкрасть в России и сохранить на ЗападеСпекуляция на культурахЭкономические игры с выводом средствАпелляция к ПутинуУправление рандомомXbox Турция: Алярм, суки, аккаунты горят!СтрахованиеВоенный распилТы зомбированСборка шариковой ручки
ХитростьПереплатаПриняли за своегоВбросСтупенька БайденаПромо-акцияПодгонианПокупка доступа к аккаунтуСоздание викистатьи с рекламой казиноМёртвые души Социального обеспечения СШАВживление жучкаПабло крутится на бутылкеСамопровозглашённый президентХорошие SEOшникиНе те боты в ТелеграмеРоссия снова выдала китайские игрушки за новейшие беспилотникиГиперинформационная эраАренда аккаунтов WhatsAppКолл-центрБорьба ради борьбыШахматный рендерингМаркетологическая эзотерикаНейроперемогаЖулик nerabase украл подарков в Телеграме на 25 миллионов рублейМиф о Путине — консерватореПравда и нарративВымогательство у РостехаСкам иллюминатовПерекладывание ответственностиЯндекс спамПутинская ИБД
МетаЖулики в целом