Механизация для Python 3.x - PullRequest
       44

Механизация для Python 3.x

10 голосов
/ 21 ноября 2010

есть ли способ использовать Mechanize с Python 3.x?

Или есть какой-нибудь заменитель, который работает в Python 3.x?

Я искал часы,но я ничего не нашел: (

Я ищу способ входа на сайт с помощью Python, но сайт использует javascript.

Заранее спасибо,

Адам.

Ответы [ 2 ]

3 голосов
/ 21 ноября 2010

lxml.html предоставляет средства обработки форм и поддерживает Python 3.

0 голосов
/ 21 ноября 2010

Я работаю над аналогичным проектом, но часто задаваемые вопросы для mechanize явно говорят, что они не собираются поддерживать 3x в ближайшее время. Есть ли причина, по которой код должен быть написан на 3?

Я пытаюсь решить эту проблему, эмулируя java-скрипт с отправкой форм, для этого требуется некоторая обратная инженерия. (то есть, если javascript завершается отправкой формы, и вы можете найти аргументы, которые скрипт передает в submit (), просто следуйте примеру из документа механизации

http://wwwsearch.sourceforge.net/mechanize/

br.select_form(name="order")
# Browser passes through unknown attributes (including methods)
# to the selected HTMLForm.
br["cheeses"] = ["mozzarella", "caerphilly"]  # (the method here is __setitem__)
# Submit current form.  Browser calls .close() on the current response on
# navigation, so this closes response1
response2 = br.submit()
...