Форум → Программирование → Python → Кто чем пользуется для краулинга сайтов и прочих ресурсов?
Кто чем пользуется для краулинга сайтов и прочих ресурсов?
-
-
5 марта 2012 г. 21:19, спустя 12 минут 6 секунд
А последующий разбор документа чем делаешь?https://smappi.org/ - платформа по созданию API на все случаи жизни -
5 марта 2012 г. 21:26, спустя 6 минут 43 секунды
http://www.crummy.com/software/BeautifulSoup/
А последующий разбор документа чем делаешь?Сапожник без сапог -
5 марта 2012 г. 21:33, спустя 7 минут 33 секунды
Вообщем недостатки (по сравнению со скрапи) Grab:
# При беглом прочтении документации я не нашел как кастомайзить логгирование, ну то есть там есть log_file/log_dir, а мне хочется в базу класть и потом красиво читать :)
но так как они по всей видимости юзают logging, то можно свой хендлер впилить (у скраппи http://doc.scrapy.org/en/latest/topics/logging.html)
# Не нашел такой вкусной штуки как у скрапи: http://doc.scrapy.org/en/latest/topics/shell.html
http://doc.scrapy.org/en/latest/topics/commands.html
http://doc.scrapy.org/en/latest/topics/architecture.html
http://doc.scrapy.org/en/latest/topics/webservice.html
http://doc.scrapy.org/en/latest/topics/stats.html
использовал scrapy достаточно продолжительное время, grab понравился больше.
тому есть множество причин, например скорость парсинга в грабе у меня получается на порядок (!!!) выше. ну и он проще, больше контроля. если скрапи это как бы django в мире парсинга, то grab — это flask ) как-то так.
на скрапи канешно много всего — всякие фишки для деплоя, получение информации о работе пауков. но мне это (да и обычному программисту) чаще всего не нужно.
к плюсам граб можно отнести то что он на 100% проверен в деле т.е. бро itforge писал/дописывал зачастую параллельно с какими-то проектам которые на полную использовали функционал библиотеки, поэтому она получилас весьма удобной и продуманной до мелочей.
http://habrahabr.ru/blogs/python/139435/#comment_4658574Спустя 34 сек.
фи
http://www.crummy.com/software/BeautifulSoup/
А последующий разбор документа чем делаешь?Спустя 51 сек.При беглом прочтении документации я не нашел как кастомайзить логгирование, ну то есть там есть log_file/log_dir, а мне хочется в базу класть и потом красиво читать :)
с другой стороны файлы это тоже хорошоhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
5 марта 2012 г. 21:38, спустя 4 минуты 36 секунд
фи
а ты чем? я еще особо не смотрел, меня и регулярки устраивают, ты же знаешь меня =)))))
меня больше многопточный норм клиент интересовал.Сапожник без сапог -
5 марта 2012 г. 21:41, спустя 2 минуты 58 секунд
а ты чем?
да все темже + lxml, вот сейчас и хочу нормальный фреймворк для краулинга
оба они вкусные Grab и Scrapy
ps. еще есть http://pyparsing.wikispaces.com/https://smappi.org/ - платформа по созданию API на все случаи жизни -
5 марта 2012 г. 21:42, спустя 42 секунды
да все темже + lxml
так soup сейчас юзает lxml || html5 парсер какойто, на выбор)Сапожник без сапог -
5 марта 2012 г. 21:53, спустя 11 минут
phpdude, я к тому, что промышленно краулить эти средствами: lxml, bsoup, re - не подходит, получится в итоге свой велотренажер
мне надо готовую систему, которая бы обеспечивала:
* логгирование, оповещения
* мониторинг, статистика
* удобный парсинг (в том числе конструктор парсера как у скрапи), xpath/re для навигации и разбора строк
* треды, полный контроль над реквестами/респонсами, куками
* пуллы задач, статусы задач, коллбеки
* готовые юниттесты на все это
это все можно реализовать самому, а можно уже приступать к решению задач и юзать scrapy/grabhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
5 марта 2012 г. 22:23, спустя 29 минут 54 секунды
https://github.com/noplay/scrapy-dot для визуализации статистикиhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
5 марта 2012 г. 22:29, спустя 6 минут 37 секунд
Нашёл имплементации (Item Pipeline) строреджей для скрапи:
* https://github.com/darkrho/scrapy-redis
* https://github.com/noplay/scrapy-mongodb
Надо будет потом сделать для mysql, так как мне надо чтобы спарсенный контент был OneToOne к источнику, а источник будет Item скрапи.
А может и не надо будет, ещё посмотрим на практике как все будет :)Спустя 66 сек.Вообще можно и на монге оставить, скрещивать через ORM данные не проблема :)https://smappi.org/ - платформа по созданию API на все случаи жизни -
5 марта 2012 г. 22:49, спустя 19 минут 23 секунды
adw0rd, ааа, я забыл чо ты делаешь :-)
ну тогда да, тебе проще готовые решения юзатьСапожник без сапог -
5 марта 2012 г. 23:47, спустя 58 минут 16 секунд
adw0rd,
1. scrapy уже 4 года, ну или 3.5. Я лично в 2008 году его юзал в продакшене, хоть и матюкался :)
2. scrapy это целая платформа, как и джанго. Много полезного, много лишнего и видно где можно расшириться.
3. grub пишет один паренек и походу он не в курсе, что его репа не приватная… Ну ты просто по исходникам пробегись и сразу ветку эту закроешь.
Если хочешь удобно и с минимальной писаниной то однозначно scrapy.
Если хочешь по максимуму выжать скорость, то торнадо-клиент+lxml.html рулит походу. Так как scrapy на твистеде, а он при всем уважении, всёже потормознее pycurl будет
Либо ещё вариант на ум приходит с gevent (но мне не кажется, что будет прям значительно быстрее, при более низком уровне).
Пожалуйста, авторизуйтесь, чтобы написать комментарий!