|
| Дата |
|
USD/RUB | 93.4409 | BTC/USD | 64749.0894 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
24.10.2011, 11:49
|
#1
|
Senior Member
Регистрация: 18.05.2009
Сообщений: 928
Бабло: $196595
|
grab - библиотека для парсинга
Здравствуйте.
Я являюсь автором библиотеки grab - это python-библиотека, предоставляющая простой и понятный интерфейс к библиотекам pycurl и lxml. Библиотека разрабыватывается уже не первый год, основные задачи библиотеки - парсинг веб-ресурсов, автоматизация заполнения форм, работа с API веб-сервисов.
Вводную статью можно прочитать на хабрахабре: http://habrahabr.ru/blogs/python/127584/
Могу ответить на любые ваши вопросы по библиотеке здесь или в google группе: http://groups.google.com/
__________________
TgScan - узнай Telegram группы, в которых состоит человек
|
|
|
24.10.2011, 12:08
|
#2
|
автоматизирую интернеты
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
|
вопроса два:
1) есть/будет ли ф-я эмуляции браузера из коробки? т.е. не только реализация http-запросов, но и комплексный анализ ответов, анализ css, запрос ресурсов html-страницы, моделирование кеша
2) как вы в питоне решаете вопрос с JS ?
понимаю, что возможно вопросы/требования выходят за рамки применения либы, но все же интересно промышленная имитация браузера во время парсинга.
Я себе такое сделал на phpmulticurl, но в промышленных масштабах питон, думаю, по приятнее, да и на nix php проблему с JS как решить я не представляю.
|
|
|
24.10.2011, 12:10
|
#3
|
grablab.org
Регистрация: 18.09.2007
Адрес: Thailand
Сообщений: 4,893
Бабло: $322264
|
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.
|
|
|
24.10.2011, 13:41
|
#4
|
Senior Member
Регистрация: 20.04.2008
Сообщений: 604
Бабло: $116367
|
Буквально сёдня опробовал Grab, чето даже стабильно отработать у неё не получилось=) Скрипт состоял буквально из 3х GET запросов и 2х POST. Когда дело доходит до второго POST-запроса, то либо через раз он отправляется вообще без параметров, либо вообще скрипт может крашится. Как я такое сотворил?) Может какую-то нестабильную версию скачал?
|
|
|
24.10.2011, 13:45
|
#5
|
Senior Member
Регистрация: 20.04.2008
Сообщений: 604
Бабло: $116367
|
Цитата:
Сообщение от chesser
вопроса два:
1) есть/будет ли ф-я эмуляции браузера из коробки? т.е. не только реализация http-запросов, но и комплексный анализ ответов, анализ css, запрос ресурсов html-страницы, моделирование кеша
2) как вы в питоне решаете вопрос с JS ?
понимаю, что возможно вопросы/требования выходят за рамки применения либы, но все же интересно промышленная имитация браузера во время парсинга.
Я себе такое сделал на phpmulticurl, но в промышленных масштабах питон, думаю, по приятнее, да и на nix php проблему с JS как решить я не представляю.
|
Блин, там обёртка для курл, к которой прикручено несколько удобных модулей, а ты от него чуть ли не многолетний проект требуешь=)
P.S. Только не поймите неправильно меня - за Grab респект ТС, конечно же.
|
|
|
24.10.2011, 13:47
|
#6
|
grablab.org
Регистрация: 18.09.2007
Адрес: Thailand
Сообщений: 4,893
Бабло: $322264
|
hammer_mode=True включи. а чтобы конкретно помочь - код нужен. я дохрена написал с ним, всё стабильно работает.
|
|
|
24.10.2011, 14:06
|
#7
|
Senior Member
Регистрация: 28.11.2009
Сообщений: 1,800
Бабло: $299365
|
Библиотека хорошая, только вот бы работу с urllib допили .
А то начали и утихло вроде как.
|
|
|
24.10.2011, 14:20
|
#8
|
Senior Member
Регистрация: 18.05.2009
Сообщений: 928
Бабло: $196595
ТС -->
|
ТС
Цитата:
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, то она будет основана на одном из проектов, ссылки на которые я привёл выше.
__________________
TgScan - узнай Telegram группы, в которых состоит человек
|
|
|
24.10.2011, 14:22
|
#9
|
Senior Member
Регистрация: 18.05.2009
Сообщений: 928
Бабло: $196595
ТС -->
|
ТС
Цитата:
Буквально сёдня опробовал Grab, чето даже стабильно отработать у неё не получилось=) Скрипт состоял буквально из 3х GET запросов и 2х POST. Когда дело доходит до второго POST-запроса, то либо через раз он отправляется вообще без параметров, либо вообще скрипт может крашится. Как я такое сотворил?) Может какую-то нестабильную версию скачал?
|
Не могу ничего сказать. Нужно знать, какую версию библиотеки вы используете, а также видеть ваш код.
__________________
TgScan - узнай Telegram группы, в которых состоит человек
|
|
|
24.10.2011, 14:26
|
#10
|
Senior Member
Регистрация: 18.05.2009
Сообщений: 928
Бабло: $196595
ТС -->
|
ТС
Цитата:
Библиотека хорошая, только вот бы работу с urllib допили .
А то начали и утихло вроде как.
|
Увы, пока эта фича не очень для меня важна. Если кому-то она позарез нужна, можете оплатить моё время и urllib-транспорт будет реализован в течении пары дней. Естественно с исключениями присущими urllib2-библиотеке (например, она с socks-проксями не умеет работать), да и для http-connect прокси какой-то костыль писать надо.
__________________
TgScan - узнай Telegram группы, в которых состоит человек
|
|
|
|