|
|
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
Мне нужно отслеживать информацию на нескольких тысячах сайтов. На многих из них нужна регистрация. (а значит - запросы будут и GET и POST, а протоколы http/https) На многих из них нужная мне информация появляется в результате работы JavaScript. В качестве платформы планирую использовать Ubuntu Server 12.04 LTS _______________________________________________________________ Уже нашел: - как при помощи wget залогиниться, скачать, сохранить сессию . Теперь надо понять: - как вызвать выполнение JavaScript и разбор DOM (поиск нужного элемента на странице, получение значения). ??? - как сохранить результат в MySQL или Oracle Теоретически я мог бы написать расширение к firefox для всего этого. Но, кажется это не правильно (не производительно, и нужно будет как-то подавить запросы к пользователю), а правильно - как-то заставить работать движок Gecko. Но не радует это . Какие есть идеи, или просто - полезные ссылки ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 11:04 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
ART-CODEКакие есть идеиВаша же ссылкаВ качестве наиболее простого выхода из сложившейся ситуации некоторые разработчики сторонних проектов рассматривают возможность перехода на использование движка WebKit. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 11:11 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
miksoft, Спасибо, тоже думаю об этом. Пока еще не изучил вопрос основательно. Еще хотел разобраться с http://lucene.apache.org/ - там так много всего и связанных с этим проектов. Как из всего этого выделить нужную мне функциональность? Наверно, на месяц читать, скачивать, настраивать, тестировать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 11:22 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
ART-CODEЕще хотел разобраться с http://lucene.apache.org/ - там так много всего и связанных с этим проектов.Хм, при беглом просмотре описания никакой связи не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 11:26 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
miksoft, Там в Related Projects есть nutch , который, кажется умеет быть crawler http://today.java.net/pub/a/today/2006/01/10/introduction-to-nutch-1.html Еще разобраться надо: что оно может и насколько это мне подойдет. Жаль, только, что все на Javа, а не на C++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 11:46 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
ART-CODEНа многих из них нужная мне информация появляется в результате работы JavaScript.тогда в любом случае понадобится браузерный движок, например, вышеупомянутый WebKit хотя если там есть взаимодействие с юзером - плохи дела. Потребуется индивидуальный подход к сайту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 11:51 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
ART-CODE, Боюсь, что даже использование браузерного движка не поможет. Типа "получить и сохранить" - дело очень сложное. Особенно, в первой его части. Потому что "получить" может зависить от действий пользователя, да хоть и от таймера. Короче, в общем случае задача не решается. Поэтому роботы такие глупые, а вовсе не программисты, которые их сделали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 12:00 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
Ок, буду "копать" в сторону WebKit и индивидуального подхода к некоторым сайтам. (возможно, удастся просто договорится об отправке данных мне их серверными средствами или об открытии канала RSS) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 12:09 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
Чтобы ссылка не потерялась: http://code.google.com/p/webscraping/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 12:24 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
И еще: mechanize - почти то, что нужно ( только без JavaScript ) Обсуждение темы с интересными ссылками . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 12:37 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
python и grab и хорошенько подумать насчет выполнения яваскрипта, в 99% случаев это так или иначе упирается в вытаскивание данных со страницы и отправки запроса с нужными параметрами. Куки специфические можно собрать и подложить заранее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 14:56 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
On 07/12/2012 12:04 PM, ART-CODE wrote: > Мне нужно отслеживать информацию на нескольких тысячах сайтов. Я б на common lisp бы писал. Или на питоне. > Теперь надо понять: > - как вызвать выполнение JavaScript и разбор DOM Ээээ.. разбор DOM -- это видимо разбор просто HTML. А вот как ты собираешься без модели документа реализованной (как в WEB-броузере) выполнять JavaScript -- я слабо понимаю. Тогда уж и пиши на JavaScript. > а правильно - как-то заставить работать движок Gecko. Gecko рисует графику, нафига он тебе сдался в контексте этой задачи ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 16:25 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
разбор DOM очень удобно делать xpath. Я никак вот только не пойму, зачем яваскрпит человеку сдался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2012, 16:28 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
ART-CODEМне нужно отслеживать информацию на нескольких тысячах сайтов. На многих из них нужна регистрация. (а значит - запросы будут и GET и POST, а протоколы http/https) На многих из них нужная мне информация появляется в результате работы JavaScript. В качестве платформы планирую использовать Ubuntu Server 12.04 LTS _______________________________________________________________ Уже нашел: - как при помощи wget залогиниться, скачать, сохранить сессию . Теперь надо понять: - как вызвать выполнение JavaScript и разбор DOM (поиск нужного элемента на странице, получение значения). ??? - как сохранить результат в MySQL или Oracle Теоретически я мог бы написать расширение к firefox для всего этого. Но, кажется это не правильно (не производительно, и нужно будет как-то подавить запросы к пользователю), а правильно - как-то заставить работать движок Gecko. Но не радует это . Какие есть идеи, или просто - полезные ссылки ?erlang ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2012, 02:15 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, Интересная статья. Для финальной версии системы постараюсь сделать так. Есть еще один немало важный фактор: сколько времени понадобится , чтобы изучить новый для меня ЯП. Ведь для полномасштабной работы нужно будет и взаимодействие с БД добавить и отправку Email и сложную логику принятия решения - идти ли дальше по ссылкам, найденным на странице и много еще чего. Erlang или Python - придется изучать с "0" (то же про XPath запросы ) А это значит, что нужно иметь под рукой большое количество примеров кода на разные случаи и активное сообщество - кто сможет подсказать по проблемам программирования. PHP - небольшой опыт есть (доработка Joomla компонентов) С++ - есть опыт, но только под Windows. Если сократить время за счет обучения, то для меня - быстрее будет получить результат на PHP php-crawler-tutorial simple-php-crawler-example Это для предварительной/тестовой версии, а к Erlang, видимо, еще вернусь - но чуть позже. Вопрос о выполнении JS вынесем пока за скобки (начать можно и без этого). Да, я понимаю, что можно имитировать Ajax запросы, но для этого нужно заранее знать как работает "движек" сайта. (т.е. не всегда удастся автоматически находить новые сайты и добавлять их в контроль-список без участия человека) Кстати, я подумываю о том, чтобы разбор документа делать хранимками на MySQL Там есть XPath - MySQL и regexp В моем случае - без анализа на стороне MySQL сервера никакие дальнейшие действия паука не допускаются. Поэтому результат разбора документа - все равно/полюбому нужно будет передавать на сервер - для дальнейшего анализа. Так, может быть, сразу на сервере и извлекать эти данные ? И тут же использовать результаты во всевозможных Join-ах ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2012, 16:41 |
|
||
|
на чем писать паука (crawler)
|
|||
|---|---|---|---|
|
#18+
ART-CODEсколько времени понадобится , чтобы изучить новый для меня ЯП.эрланг самый быстро-изучаемый яп(если без отп) - из всех что я знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2012, 17:00 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37882552&tid=1342193]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 525ms |

| 0 / 0 |
