Модули для парсинг любых html страниц в ноды. Есть или писать самому?

Главные вкладки

Аватар пользователя xxandeadxx xxandeadxx 15 июня 2011 в 0:51

Кто занимался парсингом чужих сайтов, есть для этого модули или писать свой и выкладывать в паблик? Пробовал Feeds + Feeds Crawler, но ничего не заработало.

Идея такая:

1. Забиваем стартовый url.
2. Указываем глубину, до которой парсер будет шагать по найденным ссылкам, и маску адресов (например "catalog/*").
3. Указываем тип нод, в который будет парситься контент.
4. Прямо в админке пишем php код, который заполнит поля ноды. Для разбора html кода можно использовать например могучий phpQuery.
5. Жмём СПАРСИТЬ и после этого с помощью Batch API начинается процесс парсинга, страница за страницей.

З.Ы. может есть скрипты для не-друпала, или сервисы парсящие в csv?

Комментарии

Аватар пользователя xxandeadxx xxandeadxx 15 июня 2011 в 1:15

"RxB" wrote:

"xxandeadxx" wrote:
4. Прямо в админке пишем php код, который заполнит поля ноды. Для разбора html кода можно использовать например могучий phpQuery.

Аватар пользователя Lotar Lotar 15 июня 2011 в 1:09

Все парсеры которые я встречал и основаны на схематической работе по странице на метках. Находим блок между тегами А и Б и берем от туда текст и картинки игнорируя лишнее и т.д.

Аватар пользователя xxandeadxx xxandeadxx 15 июня 2011 в 1:14

phpQuery значительно упрощает парсинг, мне просто уже надоело под каждую задачу по парсингу писать свои скрипты) хочется чего то централизованного и быстро разворачивающегося

Аватар пользователя Lotar Lotar 15 июня 2011 в 1:15

Ну а в чем проблема? Делаем скрипт с настройкой 2 параметров например. Заходим на сайт который будем грабить. Смотрим в каких классах идет заголовок и основной текст. И в настройках скрипта указываем по адресу такому-то взять текст между тегами class="header" и class="maintext". Для любого сайта имхо подойдет. Тем более что вы с пхпквери дружите.

Аватар пользователя xxandeadxx xxandeadxx 15 июня 2011 в 1:21

проблема в:

"xxandeadxx" wrote:
мне просто уже надоело под каждую задачу по парсингу писать свои скрипты

"Lotar" wrote:
Заходим на сайт который будем грабить

зайти мала, нужно пройти по ссылкам, скачать картинки, создать ноду, связать с таксономией и т.д.

Аватар пользователя Lotar Lotar 15 июня 2011 в 1:25

Увы моего текущего уровня программирования для перехода по ссылкам и программных действий подобного рода не хватает. Попробуйте обратить взор на WGet.

Аватар пользователя kwas kwas 15 июня 2011 в 12:10

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

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 15 июня 2011 в 12:34

"kwas" wrote:
не забудь потом описать эффективный метод защиты от подобных преступников. Имеется ввиду программный. То, что лучше будет голову кирпичом проломить - это понятно.

Если всё делается аккуратно то почти никак

Аватар пользователя Dan Dan 15 июня 2011 в 12:51

"kwas" wrote:
И главное - не забудь потом описать эффективный метод защиты от подобных преступников. Имеется ввиду программный. То, что лучше будет голову кирпичом проломить - это понятно.

Тут вот один озаботился. Пшик получился полурабочий.

Аватар пользователя Lotar Lotar 15 июня 2011 в 13:29

Лучший вариант имхо фигачить ссыль в тексте на свой сайт. Если копируют автоматом, то вряд-ли будут редактировать.

Аватар пользователя kwas kwas 15 июня 2011 в 13:52

"Dan" wrote:
Тут вот один озаботился. Пшик получился полурабочий.

Да, любопытный получился проект. Наверное, я слишком испорчен, но первая мысль была: ... и хозяин этого проекта под другим именем будет продавать "окно" к сайтам клиентов. или прямо на нем же свой платный грабер организует, который не будет фильтроваться...
Почитав комменты, понял, что проект пока нерабочий, а это значит (косвенно), что пока нет не только надежного решения, но и стОящей идеи для реализации подобной защиты. Да и на самом деле, простая логика подсказывает, что если информация в паблик предоставлена, то она уже не может быть защищена уже просто по определению понятия "паблик".
Тут надо другое. Найти спамера/вора и т.д. не сложно. Надо просто мотивировать тех, кто имеет право этим заниматься. А там просто физически их брать с поличным и убивать. Только не в тихушку, как обычно, а закидывать камнями на площади, душить их собственными кишками и прочее. Снимать все на видео и по первому каналу...

Аватар пользователя Dan Dan 15 июня 2011 в 14:26

"Lotar" wrote:
Понятно, что он есть, но далеко не все системы для парсинга его используют.

Ну это совсем наколенные решения. Если парсер серъёзный, то он должен делать карту ссылок. Если с этим не охото заморачиваться, то можно хотя бы просто удалять ссылки.

"kwas" wrote:
Да и на самом деле, простая логика подсказывает, что если информация в паблик предоставлена, то она уже не может быть защищена уже просто по определению понятия "паблик".

У парня фишка во втором уровне защиты. Когда "паблик" не получает новый контент, пока этот контент не будет собран поисковым ботом. Идея правильная, но она решается гораздо проще. В том же друпале это несколько движений мышкой Smile

"kwas" wrote:
А там просто физически их брать с поличным и убивать. Только не в тихушку, как обычно, а закидывать камнями на площади

Да, очень цивилизованно Smile И абсолютно бесполезно.

Аватар пользователя kwas kwas 15 июня 2011 в 14:20

"Dan" wrote:
И абсолютно безполезно.

Позвольте усомниться. Подняли же шумиху с несчастным учителем в захолустье и посадили за пиратский виндовс и офис. И глядь, чота лицензироваться все начали. Хотя до этого такая глупость в голову никому не приходила. Все знали, что "покупая лицензионный виндовс, ты финансируешь войну в Ираке" (это у меня плакат над столом).
Думаю, эффект должен быть по-любому. Особенно эффектно сжигание на костре...

Аватар пользователя Dan Dan 15 июня 2011 в 14:31

"kwas" wrote:
Позвольте усомниться. Подняли же шумиху с несчастным учителем в захолустье и посадили за пиратский виндовс и офис.

Позвольте усомниться в ответ:
9 сентября 2009 года Верещагинский районный суд удовлетворил иск А. Поносова о возмещении морального вреда, нанесённого обвинениями в компьютерном пиратстве. Было вынесено решение компенсировать моральные издержки в сумме 250 тысяч рублей. От своего требования публичных извинений от прокурора Поносов отказался.

13 ноября 2009 года Александр Поносов получил официальные извинения от имени государства, которые принёс прокурор Верещагинского района Пермского края младший советник юстиции И. Г. Катаев.
Подробнее тут.

"kwas" wrote:
Думаю, эффект должен быть по-любому. Особенно эффектно сжигание на костре...

Да будет конечно эффект. Это же всё красиво. Только фишка в том, что настоящие виновные заметут концы, а гореть будут, как обычно, козлы отпущения.

Аватар пользователя kwas kwas 15 июня 2011 в 15:16

Спасибо за инфу.
А на счет козлов - пожалуй, соглашусь. В России основной экшен - это "перегибы на местах"
Придется бороться программно.
А так хотелось, чтобы ни вирусов, ни спамеров, ни воров...

Аватар пользователя Valeratal Valeratal 15 июня 2011 в 15:27

Подписался

В принципе, парсинг решается программно, но не так просто. В общем любой средний прогер вам спарсит и зальет сайт.

Также, надо понимать, что клоны чужих сайтов, в поисковых системах, всегда имеют большой риск улететь в бан

Аватар пользователя Valeratal Valeratal 15 июня 2011 в 15:32

P.S. Да, уже есть платная система для парсинга чужих сайтов и постинга по расписанию на свой.

это я так, чтобы велосипед не изобретали Smile

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 15 июня 2011 в 15:37

"Valeratal" wrote:
P.S. Да, уже есть платная система для парсинга чужих сайтов и постинга по расписанию на свой.

Их докуя, начиная от ластовских поделок и заканчивая newsgrabber-ом и кисточкой

Аватар пользователя Valeratal Valeratal 15 июня 2011 в 15:46

ну вот. Саттелитчики уже озаботились. Стоят разумных денег.

Лично я бы не отказался от модуля импорта html-xml (под 7-ку)

Аватар пользователя Dan Dan 15 июня 2011 в 16:26

"Valeratal" wrote:
Можно узнать что за движения?

XMLSitemap + отложенный вывод в общие списки. В результате контент на сайт добавляется, но нигде ссылок на него нет и в тоже время ссылка на этот контент уходит поисковику.

Аватар пользователя Cyber Cyber 20 июня 2011 в 9:20

Если хочешь -- дам парсер. Он не совсем идеален и код говно, но имеет такую возможность, как авто конверт в mySQL по шаблону, аналогичный слив в txt или xml, cvs кажется тоже был, но ты вроде шаристый, если чё - разберёшься. Пылесосит любые сайты, сам ссылки определяет, + интрефейс для правок и удаления шлака, шифруется под поисковик(есть такая возможность) и работает по крону. Собсно 5к url в режиме mail.ru распедаливает в течении часа весьма беспаливно.

Аватар пользователя Cyber Cyber 10 ноября 2015 в 11:47

Кароче можно вот из этого сделать страшную вещь, что собсно я и сделал. Интеграция весьма простая

Аватар пользователя Valeratal Valeratal 20 июня 2011 в 11:21

"Cyber" wrote:
100 рублей на бочку

еще надо понять, работает это или нет

p.s. Тырить полностью другие сайты - задача весьма редкая. Клоны не слишком хорошо живут в серпах
лично у меня задачи обычно из вордовских файлов импортировать на сайт (задача включает предварительную категоризацию, очистку от мусора и тд и тп). Самое пока неясное для мея, в 7-ке, это импорт (WHR, XML). Модули есть но в деве

Аватар пользователя Cyber Cyber 20 июня 2011 в 20:48

"Valeratal" wrote:
Клоны не слишком хорошо живут в серпах

спасибо, поржал

"Valeratal" wrote:
еще надо понять, работает это или нет

любое тру, сделанное для себя работает всегда и даже не особо важно в каком виде

Аватар пользователя Cyber Cyber 20 июня 2011 в 20:48

"Valeratal" wrote:
Клоны не слишком хорошо живут в серпах

спасибо, поржал

"Valeratal" wrote:
еще надо понять, работает это или нет

любое тру, сделанное для себя работает всегда и даже не особо важно в каком виде

Аватар пользователя Valeratal Valeratal 20 июня 2011 в 23:12

"Cyber" wrote:
Клоны не слишком хорошо живут в серпах

Возможно, возможно плохо понимаю
Возможно клоны надо дополнительно раскручивать (есть у меня один клончик (как раз из RSS берет), показатели нулевые, траф примерно такой же)

Аватар пользователя Cyber Cyber 22 июня 2011 в 21:27

"xxandeadxx" wrote:
Накатал мануальчик с картинками Пример парсинга сайта drupalsn.ru с помощью модуля Parser

сам не определяет контентный участок? как то влом постоянно по dom ползать ...

Аватар пользователя DDDDD099 DDDDD099 20 июля 2011 в 4:15

Это модуль на семерку. А как для шестерки с помощью модуля feeds и плагинов к нему добиться перехода по ссылкам с глубиной - наверно в настройках это есть но я никак не могу понять где.