Парсинг это когда твоя программа ворует контент на чужом сайте словно мартышка которую aladdin научил залазить людям в карманы и хотя официальное определение гласит что парсинг нужен для сбора и анализа данных на практике же в 9 из 10 случаев парсеры делают именно для того чтобы ты взять у кого-то контент это могут быть блоге у которых будут и взять статьи группы и каналы во вконтакте или телеграм и у которых будут и взять пасты или даже самые простые сайты для взрослых которые очень часто наполняются исключительно за счет варсегов и тут может показаться что сделать свой парсер это очень трудная задача но на самом деле все оказывается до невозможности просто при чем в миллиард раз легче сделать свой паркер если ты уже знаком хотя бы сосновыми css и для примера давайте сейчас напишем свой простенький парсер на моем любимом языке программирования python а парсить будем скажем список игр сайта стопгейм у которых оценка исключительно так вот первое что нам нужно сделать это конечно же просто зайти через браузер на сайт стопгейм а и перейти там на соответствующую страничку с рецензиями игр как видно тут на сайте у них есть отдельная ссылка для страничке где отображаются именно игры с оценкой исключительно то есть это то что нам нужно на самом деле это одновременно хорошо и плохо то что есть такая ссылка чуть позже объясню почему затем путем нехитрых вычислений мы можем увидеть что на странице отображается 20 игр а страниц тут всего шесть то есть 20 умноженное на 6 и получается что по логике игр с оценкой изумительно должно быть 120 штук но если их самостоятельно посчитать то получится всего 114 игр не партесь это просто особенность работы постраничной навигации ну а между страницами сама ссылка меняется просто путем модификации адреса а если проинспектировать дом дерево самой странице то мы увидим что список игр это просто набор блоков с классами это блог ну и теперь когда мы провели базовый анализ странице можно приступить к написанию первых строчек кода но сначала в python нужно установить две библиотеки которые нам понадобятся а именно a request и beautiful суб 1 нужно чтобы работать цепь и теперь запросами а вторая это просто божественная штука когда речь заходит о парсинге ну и после установки в коде импортируем эти самой библиотеки request и beautiful су через request мы получаем содержимое страничке по ранее полученные ссылки и скармливаем это все beautiful супу затем вызываем у беса метод ссылок в которым просто указываем нужный нам селектор опять-таки как я ранее говорил если вы хотя бы чуть понимайте устройство выборки все с то с этим у вас не возникнет никаких проблем потому что конкретно метод ссылок на в beautiful суп позволяет указать какие элементы из полученные страничке выбрать при помощи селекторов исчез с ну и для примера я выведу в консоль название каждой игры на этой странице и снова возвращаясь к тому что я ранее говорил посмотреть эти селекторы вы можете легко через инструменты разработчика в том же браузер google chrome как это сделал я и давайте запустим уже и проверим наш код посмотрим что у нас получилось как видите все работает но есть одна проблема мы получили только список игр с первой страницы и на самом деле это тоже не проблема потому что мы можем очень просто модифицировать наш код чтобы загрузить содержимое сначала всех 6 страниц в список а затем пройтись по этому списку и все также собрать название всех игр и вывести их на экран при этом в коде я учитываю что страницу нас именно конкретно 6 штук но это вообще не обязательно просто код который будет сам определять количество страниц получится чуть более сложным поэтому оставим это на потом а вот что оставлять на потом нельзя так это офигенную возможность записаться на курс пайкин для выброс рабоче к я это говорю потому что у них сейчас проходят очень большие 40 процентные скидки на черную пятницу если вы когда нибудь думали что не плохо было бы записаться на крутой курсы и пройти его то это та самая возможность здесь учеба идет онлайн и длится 9 месяцев а все что от вас требуется это просто желание стать программистом всему остальному научат даже если ты настоящий чайник более того концу учебы тебе помогут с поиском работы причем как на фрилансе так и в офисе в общем научат и без работы не оставят это хороший шанс ворваться в мир программирования прямо сейчас и твердо встать на ноги ну а ссылку на регистрацию я оставлю в описании ну и я еще обещал рассказать почему это хорошо и плохо что ссылка на страницу с нужным нам списком игр это именно отдельная страница они например а як запрос дело в том что в случае если бы это был именно а як запросто ответ вполне возможно возвращался бы просто кусочка мы чтим r-кода а в идеале конкретно в виде джейсон представления и уже такой ответ парсить было бы гораздо быстрее и легче и в тоже время это хорошо потому что некоторые а як запросы делать не так просто как обычный запрос к странице в особо запущенных случаях приходится скармливать запросу еще и какие-то отдельные cookies генерировать конкретный тип запроса вроде пауз и так далее и тому подобное то есть как бы на разных сайтах это реализовано по разному и у каждого метода есть как свои плюсы так и свои минусы однако это совсем не значит что а парсит сайты можно только таким способом если речь заходит например о том чтобы спарсить контент из социальной сети вконтакте то тогда гораздо удобнее воспользоваться их собственным api и то же самое относится и к facebook instagram и другим сайтам у которых есть api дающее доступ к контенту она кстати есть и у телеграмма хотя это не веб-сайт но часто пасты из каналов телеграме также парсится программистами и ну и не могу не рассказать самое главное а именно использование прокси и парсинг дип вэба как вы уже знаете некоторые сайты для доступа к своим страницам требует от вас сначала авторизоваться и в таком случае простой партер уже не пойдет мне придется скриптом сначала пройти авторизацию получить нужные cookies и только потом зайти на сайт и давайте это сделаем для примера возьмем сайт smartprogress и хотя тут все статьи и материалы доступны к просмотру без авторизации, но ведь я еще не сказал вам что именно мы будем парсить это может быть скажем уровень и опыт пользователя а также его персональная лента все это относится к дип вэба и доступно только после авторизации на смарт прогрессия в общем как я и сказал нашему скрипту придется сначала пройти авторизацию если посмотреть в консоли разработчика google chrome то мы увидим что для авторизации сайт шлет post запрос на определенный адрес и при этом также генерируется srf токен а в ответ на успешную авторизацию возвращаются кубицы который и говорят сайту о том что мы авторизованный так что давайте перейдем к написанию кода для начала нам по-любому нужно получить тот самый сесарев токен и если перейти в браузере на страницу авторизации то в дом дереве мы увидим то самое hidden поле с нужным нам значением поэтому в коде делаем запрос к сайту получаем тело ответа и при помощи того же beautiful суп как мы ранее делали вытаскиваем этот самый сесарев токен причем все это мы делаем уже через созданную сессию это нужно для того чтобы request понимал что мы хотим не просто сделать запрос а затем еще и хранить cookies на время работы с ним впоследствии их можно будет дальше сохранить файл чтобы возобновлять и и каждый раз при запуске скрипта заново не делать запрос но это уже дому и так понятно дальше нам нужно сделать post запрос к обработчику авторизации на smartprogress для этого мы формируем обычный словарь с нужными данными которые надо отсылать обработчику авторизации я их все так же посмотрел в инструментах разработчика это тоже очень легко но и в итоге в ответе мы получаем нужную нам страницу пользователя которая появляется только после авторизации для примера чтобы показать что это действительно работает я выведу имя пользователя его уровень на сайте и накопленный опыт ну и теперь запускаем и проверяем работы длина шкот как видите все заработало буква нам сразу и мы только что с вами spore силе deep web то есть контент которому нельзя просто так получить доступ хотя справедливости ради процесс авторизации у нас получился довольно простым но это совсем не значит что таким что он будет буквально на каждом сайте иногда например после двух трех неудачных попыток авторизации или когда вы делаете слишком много запросов сайт попросту перестает пускать вас и говорит что повторить попытку через пару часов делает он это при помощи блокировки вашего ip адреса и в парсинге это обычно обходится при помощи прокси либо еще можно использовать библиотеку python сстему которое будет эксплуатировать установленный на компьютере браузер тор и который все так же можно использовать для доступа к заблокированным ресурсам в любом случае это как минимум нужно знать и уметь использовать так как в этом тоже нет ничего сложного как и нет ничего.