Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.6690
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 24.10.2011, 11:49   #1
lorien
Senior Member
 
Аватар для lorien
 
Регистрация: 18.05.2009
Сообщений: 879
Бабло: $177835
Отправить сообщение для lorien с помощью Skype™
По умолчанию grab - библиотека для парсинга

Здравствуйте.

Я являюсь автором библиотеки grab - это python-библиотека, предоставляющая простой и понятный интерфейс к библиотекам pycurl и lxml. Библиотека разрабыватывается уже не первый год, основные задачи библиотеки - парсинг веб-ресурсов, автоматизация заполнения форм, работа с API веб-сервисов.

Вводную статью можно прочитать на хабрахабре: http://habrahabr.ru/blogs/python/127584/

Могу ответить на любые ваши вопросы по библиотеке здесь или в google группе: http://groups.google.com/
lorien вне форума  
Старый 24.10.2011, 12:08   #2
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,382
Бабло: $470735
По умолчанию

вопроса два:

1) есть/будет ли ф-я эмуляции браузера из коробки? т.е. не только реализация http-запросов, но и комплексный анализ ответов, анализ css, запрос ресурсов html-страницы, моделирование кеша

2) как вы в питоне решаете вопрос с JS ?

понимаю, что возможно вопросы/требования выходят за рамки применения либы, но все же интересно промышленная имитация браузера во время парсинга.

Я себе такое сделал на phpmulticurl, но в промышленных масштабах питон, думаю, по приятнее, да и на nix php проблему с JS как решить я не представляю.
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 24.10.2011, 12:10   #3
WebNinja
grablab.org
 
Аватар для WebNinja
 
Регистрация: 18.09.2007
Адрес: Thailand
Сообщений: 4,903
Бабло: $322214
Отправить сообщение для WebNinja с помощью ICQ Отправить сообщение для WebNinja с помощью Skype™
По умолчанию

Grab нормальная тема, да ) сильно упрощает веб-автоматизацию, практически сводя её к скриптингу уровня XHE/Zenno. Только с курлом, что имеет свои плюсы в виде скорости/многопоточности/бэндвича и соответственно минусы - js.

Цитата:
2) как вы в питоне решаете вопрос с JS ?
никак (в том виде в каком хотелось бы). есть решения которые используют selenium/webkit но это не то канешно.

для явы есть либа htmlunit - надо полагать в скором времени появится и на других языках, олсо для гугл V8 есть python биндинг, что добавляет оптимизма.

можно наверное запариться и как-то подключить этот V8 для исполнения js, но у меня например пока такой супернеобходимости в js нету. ну а если вдруг, внезапно появится, то можно подумать насчет FF-selenium на сервер сайд в Virtual Frame Buffer/аналогах.

Последний раз редактировалось WebNinja; 24.10.2011 в 12:19.
WebNinja вне форума  
Старый 24.10.2011, 13:41   #4
kalombo
Senior Member
 
Аватар для kalombo
 
Регистрация: 20.04.2008
Сообщений: 598
Бабло: $115497
Отправить сообщение для kalombo с помощью ICQ
По умолчанию

Буквально сёдня опробовал Grab, чето даже стабильно отработать у неё не получилось=) Скрипт состоял буквально из 3х GET запросов и 2х POST. Когда дело доходит до второго POST-запроса, то либо через раз он отправляется вообще без параметров, либо вообще скрипт может крашится. Как я такое сотворил?) Может какую-то нестабильную версию скачал?
kalombo на форуме  
Старый 24.10.2011, 13:45   #5
kalombo
Senior Member
 
Аватар для kalombo
 
Регистрация: 20.04.2008
Сообщений: 598
Бабло: $115497
Отправить сообщение для kalombo с помощью ICQ
По умолчанию

Цитата:
Сообщение от chesser Посмотреть сообщение
вопроса два:

1) есть/будет ли ф-я эмуляции браузера из коробки? т.е. не только реализация http-запросов, но и комплексный анализ ответов, анализ css, запрос ресурсов html-страницы, моделирование кеша

2) как вы в питоне решаете вопрос с JS ?

понимаю, что возможно вопросы/требования выходят за рамки применения либы, но все же интересно промышленная имитация браузера во время парсинга.

Я себе такое сделал на phpmulticurl, но в промышленных масштабах питон, думаю, по приятнее, да и на nix php проблему с JS как решить я не представляю.

Блин, там обёртка для курл, к которой прикручено несколько удобных модулей, а ты от него чуть ли не многолетний проект требуешь=)

P.S. Только не поймите неправильно меня - за Grab респект ТС, конечно же.
kalombo на форуме  
Старый 24.10.2011, 13:47   #6
WebNinja
grablab.org
 
Аватар для WebNinja
 
Регистрация: 18.09.2007
Адрес: Thailand
Сообщений: 4,903
Бабло: $322214
Отправить сообщение для WebNinja с помощью ICQ Отправить сообщение для WebNinja с помощью Skype™
По умолчанию

hammer_mode=True включи. а чтобы конкретно помочь - код нужен. я дохрена написал с ним, всё стабильно работает.
WebNinja вне форума  
Старый 24.10.2011, 14:06   #7
rushter
Senior Member
 
Регистрация: 28.11.2009
Сообщений: 1,804
Бабло: $299365
По умолчанию

Библиотека хорошая, только вот бы работу с urllib допили .
А то начали и утихло вроде как.
rushter вне форума  
Старый 24.10.2011, 14:20   #8
lorien
Senior Member
 
Аватар для lorien
 
Регистрация: 18.05.2009
Сообщений: 879
Бабло: $177835
ТС -->
Отправить сообщение для lorien с помощью Skype™
автор темы ТС По умолчанию

Цитата:
1) есть/будет ли ф-я эмуляции браузера из коробки? т.е. не только реализация http-запросов, но и комплексный анализ ответов, анализ css, запрос ресурсов html-страницы, моделирование кеша

2) как вы в питоне решаете вопрос с JS ?
1) Эмуляции нет и неизвестно, когда она появится. Для эмуляции смотрите проекты типа:
* http://code.google.com/p/spynner/
* http://splinter.cobrateam.info/

2) Аналогично пункту 1

Теоритически подобные штуки можно прикрутить к грабу, практически мне это не надо было, поэтому граб и не умеет этого. Граб это низкоуровневый интрумент, без знания таких вещей как javascript, html, css, xpath, http-протокола его невозможно использовать полноценно. Если когда-то эмуляция и появится в grab, то она будет основана на одном из проектов, ссылки на которые я привёл выше.
lorien вне форума  
Старый 24.10.2011, 14:22   #9
lorien
Senior Member
 
Аватар для lorien
 
Регистрация: 18.05.2009
Сообщений: 879
Бабло: $177835
ТС -->
Отправить сообщение для lorien с помощью Skype™
автор темы ТС По умолчанию

Цитата:
Буквально сёдня опробовал Grab, чето даже стабильно отработать у неё не получилось=) Скрипт состоял буквально из 3х GET запросов и 2х POST. Когда дело доходит до второго POST-запроса, то либо через раз он отправляется вообще без параметров, либо вообще скрипт может крашится. Как я такое сотворил?) Может какую-то нестабильную версию скачал?
Не могу ничего сказать. Нужно знать, какую версию библиотеки вы используете, а также видеть ваш код.
lorien вне форума  
Старый 24.10.2011, 14:26   #10
lorien
Senior Member
 
Аватар для lorien
 
Регистрация: 18.05.2009
Сообщений: 879
Бабло: $177835
ТС -->
Отправить сообщение для lorien с помощью Skype™
автор темы ТС По умолчанию

Цитата:
Библиотека хорошая, только вот бы работу с urllib допили .
А то начали и утихло вроде как.
Увы, пока эта фича не очень для меня важна. Если кому-то она позарез нужна, можете оплатить моё время и urllib-транспорт будет реализован в течении пары дней. Естественно с исключениями присущими urllib2-библиотеке (например, она с socks-проксями не умеет работать), да и для http-connect прокси какой-то костыль писать надо.
lorien вне форума