Сайтостроение Как парсить сайты

Статус
В этой теме нельзя размещать новые ответы.
Автор: Роман Кротов
Год выхода: 2015

О видеокурсе: В этом видеокурсе Вы в мельчайших подробностях, по шагам научитесь парсить любые сайты и зарабатывать на этом деньги. Этот курс рассчитан на тех, кто уже владеет основами программирования на PHP и хочет повысить свою квалификацию и заработать на продаже дополнительных услуг по парсингу сайтов.Курс начинается с теоретических основ и уже после них мы работаем над реальным заказом, по шагам и на примерах. Показывается как спарсить данные с сайта и сохранить их в нужном для заказчика формате. Каждое действие сопровождается подробными и понятными для каждого комментариями. Более того, к каждому практическому уроку есть исходники.В результате работы вместе с автором в конце курса Вы получаете готовый парсер игрового сайта. Все техники и методики, которые показываются в курсе, так же применимы и к любому другому сайту.

Продажник:


Скачать:
 

Последнее редактирование модератором:
В принципе неплохая пачка зниний, но не все сайты получится спарсить, там где контент генерируется и правится при помощи JavaScript - PHP, Curl и прочие библиотечки для парсинга могут не справиться.
Для парсинга динамичных страниц нужен эмулятор браузера (XHE, ZennoPoster...) или же система тестирования приложений на основе Firefox, PhantomJS и Selenium - вот там уже можно спарсить мох и болото, да и не только спарсить!
 

Для парсинга динамичных страниц нужен эмулятор браузера (XHE, ZennoPoster...) или же система тестирования приложений на основе Firefox, PhantomJS и Selenium - вот там уже можно спарсить мох и болото, да и не только спарсить!
Какое из этих решений можно встраивать в свои приложения или использовать в каком-то скриптовом языке вроде VB Script как COM-объект?
 

Рекламное сообщение
📈 Хотите влиться в мир криптотрейдинга, но нет знаний? Доверьте это профессионалам!

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

Выбрав копитрейд сервис, вы вкладываетесь в криптовалюты, но только в те, которые имеют реальный шанс принести доход.

Все что вам остается - это включать бота и разрешить ему торговлю.

➡️ Подробнее
 

В принципе неплохая пачка зниний, но не все сайты получится спарсить, там где контент генерируется и правится при помощи JavaScript - PHP, Curl и прочие библиотечки для парсинга могут не справиться.
Для парсинга динамичных страниц нужен эмулятор браузера (XHE, ZennoPoster...) или же система тестирования приложений на основе Firefox, PhantomJS и Selenium - вот там уже можно спарсить мох и болото, да и не только спарсить!
Пример такого сайта можешь привести. Хочу попробовать. Пока удавалось спарить любую инфу.
 

Поделюсь некоторыми знаниями и техническими деталями, сразу оговорюсь что с некоторого времени я являюсь поклонником открытого ПО и Linux, итак поехали...

Почему CURL не может спарсить многие современные сайты? - потому что он не умеет JavaScript. Сейчас много сервисов, к примеру тот же VK построены на асинхронных запросах без перегрузки странички, контент подгружается в DOM дерево (структура документа после обработки скриптами, если простыми словами) при помощи AJAX и подобных технологий.
Чтобы понять что и как - попробуйте при помощи CURL спарсить последние 200 сообщений со стены любой группы ВКонтакте. Попробуйте получить HTML исходник какого-то сайта к которому подключена защита от DDOS при помощи CloudFlare или другого сервиса, который требует включенного JavaScript.
Примеров еще можно привести много, сейчас любой парсинг без движка JS - это не парсинг.
Простой живой пример: попробуйте получить список свободных прокси без включенного JS (для FireFox можно установить дополнение NoScript) или при помощи CURL, PHP file_get_contents... вот с этой странички http://www.freeproxylists.com/anon/1463748668.html
Вы получите почти пустой HTML исходник, а теперь включите JS и...о магия!!! на страничке появился список сотни свободных проксей (IP - порт).

Таким образом, если на сайте контент (картинки, текст, ссылки...) подгружаются при помощи JavaScript то простой запрос исходника HTML документа без пост-обработки при помощи JS не вернет вам нужного результата.

Теперь о софте.

1) XHE - он же Xedant Human Emulator, xWeb, умеет эмулировать любые действия в браузере IE, есть многопоточность, возможность писать скрипты автоматизации на PHP (есть готовые классы с функциями под клаву, мышь, картинки, капчи, системные утилиты и т.п.).
Это по сути Windows-приложение обгортка для ослика ИЕ (Internet Explorer) с простым и функциональным API, под который написаны готовые вспомогательные PHP-скрипты-классы.
Как это работает: Приложение-обертка IE открывает на машине порт (например 7010 или другой) и принимает к нему подключения. Все что нужно для управления браузером - подключиться к порту, например телнетом и отправить ему команду в виде строки с параметрами. К примеру для клика мышкой в браузере с координатами 504,937 нужно отправить строчку "Mouse.Click?x=504&y=937"
Согласитесь, не очень удобно. Поэтому для упрощения управления разработчиками этой программы была написана целая пачка скриптов (классы), которые запускаются на локальном интерпретаторе PHP и по своей сути подключаются к порту 7010 и посылают туда команды. Таким образом для того же клика мышкой в браузере с координатами 504,937 нужно вызвать в PHP скрипте метод $mouse->click(100, 200); - так явно проще и понятнее.
Итак что мы имеем: браузер с возможностью полной автоматизации, скрипты можно писать на любом языке, подключаясь по TCP к порту 7010 и отправляя туда команды. Скрипты можно писать используя готовые классы функций и методов на PHP, полистать классы можно на humanemulator.net.
С этой программой я работал достаточно плотно и даже когда-то писал целую систему с веб-мордой на PHP+AJAX+MYSQL, регались аккаунты, почты, постились сообщения в ВК, собирались прокси, ADDURиLки....потом забросил.
Для себя выделил два основных минуса - это цена на лицензию и ее продление, а также отсутствие возможности нормального масштабирования. Программа-эмулятор работает только на Windows и для запуска на одной машине нужна одна лицензия (порядка 300$ по тому времени), более предпочтительно иметь подобный инструмент на Linux, где можно будет запускать своих роботов-трудяг на множестве VPSок, да и производительность будет получше, все таки не нужно подгружать в память разный хлам, который идет в комплекте с Windows.

2) ZennoPoster - очень мощный продукт, авторы сделали гениальный комбайн, который после небольшого обучения сможет оседлать даже домохозяйка (оседлать...но не кататься по полной). По сути это также интернет-браузер с целым комплексом надстроек для автоматизации, парсинга, постинга, ботинга, кликинга, граббинга и т.п. занятий.
Огромный плюс данного софта - то что все собрано в куче и в одном месте, это такой себе центр управления и рекрутинга для виртуальных цифровых работников в сфере интернета, которые не ленятся, не ноют, не требуют повышения зарплаты (хотя случается...апгрейд компа иногда не помешает) и делают то что им прописано (в скриптах).
Продукт хороший но избыточный если нужно сделать какое-то простое задание на автомате, к тому же своей наработкой (скриптом) вы не сможете поделиться с другими если у них нет лицензии Зенки, демо-версия очень урезана.
Для тех кто умеет программировать, скорее всего что ковыряние в интерфейсе покажется не очень приятным занятием, захочется написать простой скрипт на каком-то языке вместо часового клацанья по текстовых поляv и чекбоксам. Хотя...в Зенке предусмотрен API и можно подключить свои скрипты, написанные на удобном языке, работать по подобному принципу взаимодействия как и с XHE.
Для себя выделил такие минусы:
Первый минус - платный продукт (хотя за такие возможности отдать денежку не жалко), полностью закрытый проприетарный код (параноикам и безопасникам такое не подойдет), мало ли что хитрые разработчики могли в нем упрятать, хочется доверять но все же проверять...а проверить не получится (как вариант сидеть на шухере в команде с WireShark и TCPDump).
Второй минус - опять же привязанность к MS Windows, аренад VPS с данной ОС это не дешевое удовольствие и снова у нас будут в пустую тратиться драгоценные ресурсы системы на запуск всякого встроенного в продукт MS мусора, загрузку разных обновлений, которые для моей задачи н#х не нужны.
Здесь же мы опять столкнемся с проблемой масштабирования и гибкости, будем привязаны как лошадь к дереву в ожидании хозяина.

3) Firefox, PhantomJS и Selenium - не зря я привел эту связку как альтернативу выше приведенным проприетарным пациентам. Для использования данных инструментов и библиотек нужно иметь навыки программирования или же просто желание - остальное подтянется в процессе.
Selenium - это система для написания автоматических тестов приложений, но никто нам не мешает применить ее для автоматизации разной рутины в браузере где нужен JavaScript. К Селениуму можно привязать разные браузеры (драйверы), к примеру тот же Firefox или Хром, а можно прикрутить PhantomJS.
PhantomJS - Headless WebKit scriptable with a JavaScript API. Безглавый (не нужен графический интерфейс) движок браузера на основе WebKit с поддержкой JavaScript и со своим API. Используя данную штукенцию в связке с Selenium мы сможем написать скрипт автоматизации какой-то работы в инете, выгрузить такой скрипт на Linux VPS где есть только консоль (без графического рабочего стола) и запустить на выполнение.
На лицо экономия ресурсов, денег.
Все приведенные продукты с открытым исходным кодом и свободными лицензиями, их код можно подправить под себя, поделиться своими наработками или найденными багами с сообществом разработчиков по всему миру, к тому же знания данных технологий и навыки работы с ними могут пригодиться при устройстве на высокооплачиваемую работу.
Если хотите попробовать данные технологии то наиболее простой и дружелюбный язык вам в помощь, это - Python (Питончик). По селениуму есть неплохие статьи на Хабре, также подружитесь с StackOverflow, GitHub - там есть много примеров и решений разных задач.

Какой продукт лучше: XHE, ZennoPoster, Selenium+друзья? - пусть каждый выберет для себя из своих возможностей и перспектив, подумает хочет ли он иметь полный контроль или же пользоваться готовыми наработками за некоторую плату и привязанность. Для каждого из продуктов найдется свой поклонник и противник.

Я не являюсь большим гуру, так что за какие-то неточности или незнания в изложенных выше примерах прошу сильно не ругать, я также как и многие только учусь )
Буду рад если эта мини-статья принесет кому-то пользу, откроет новые возможности и побудит к новым идеям (хорошим и во благо).
 

Для парсинга сайтов без навыков программирования уже создано множество программ, одна из таких - Datacol5, как написал Rev0lver.
Когда-то купил лицензию на такую программу как Content Downloader - также все довольно просто и без применения языков программирования, есть мануалы и обучающие видео на Ютубе.
Тем не менее, даже при использовании таких чудо-программ нужны некоторые знания о структуре документов в Вебе, а также протейшие навыки алгоритмизации для того чтобы получить нужный, выжатый контент без мусора и в краткие сроки.
Свой практический опыт - лучший учитель.
 

Проще простого использовать Datacol5 парсит почти все есть готовые шаблоны.
В обзоре описаны средства которые можно встраивать в другие приложения и скрипты, в то время как Datacol работает только на Windows и предоставляет ограниченные средства автоматизации работы с программой, только обмен (запись информации в базу данных) или экспорт в файлы Эксель/csv.
 

Поведайте каким образом.

Python - язык программирования. Если ты им владеешь, то есть очень много библиотек для парсинга и можно сделать всё, что угодно.
 

Python - язык программирования. Если ты им владеешь, то есть очень много библиотек для парсинга и можно сделать всё, что угодно.
Я вкурсе что такое Python,у вас поинтересовались каким образом.Конкретики добавьте а не общие фразы что есть и тому подобное.
 

Для того чтобы парсить 99 процентов сайтов не обязательно изучать программирование, достаточно готового софта. Zenno слишком тяжелый и медленный. Раньше использовал только для задач, где нужна обработка DOM и некоторые дополнительные вещи. Но цена явно неадекватна, можно в 10 раз дешевле получить тот же результат. Сейчас не использую. В общем нормального софта довольно много, в том числе и ломаного, но за опенсорсом будущее.
 

Статус
В этой теме нельзя размещать новые ответы.

Обратите внимание

Похожие темы

Назад
Сверху