2009-08-18 2 views
7

Мне нужно что-то вроде iMacros для Python. Было бы здорово иметь что-то вроде этого:Python WWW macro

browse_to('www.google.com') 
type_in_input('search', 'query') 
click_button('search') 
list = get_all('<p>') 

Знаете ли вы что-нибудь подобное?

Заранее благодарен, Etam.

ответ

7

Практически прямое выполнение пожеланий в вопросе - twill.

twill - это простой язык, который позволяет пользователям просматривать веб-страницы из интерфейса командной строки. С помощью twill вы можете перемещаться по веб-сайтам, использующим формы, куки и большинство стандартных веб-функций.

twill поддерживает автоматическое веб-тестирование и имеет простой интерфейс Python.

(pyparsing, mechanize и BeautifulSoup включены саржевого для удобства.)

Python API пример:

from twill.commands import go, showforms, formclear, fv, submit 

go('http://issola.caltech.edu/~t/qwsgi/qwsgi-demo.cgi/') 
go('./widgets') 
showforms() 

formclear('1') 
fv("1", "name", "test") 
fv("1", "password", "testpass") 
fv("1", "confirm", "yes") 
showforms() 

submit('0') 
6

mechanize. Помимо выполнения JavaScript на странице, это довольно хорошо.

0

Другая вещь, чтобы рассмотреть пишет свой собственный сценарий. На самом деле это не так уж сложно, как только вы его повесите, и без привлечения полдюжины огромных библиотек это может быть даже быстрее (но я не уверен). Я использую веб-отладчик под названием «Чарльз» для поиска веб-сайтов, которые я хочу очистить. Он регистрирует все исходящие/входящие HTTP-связи, и я использую записи для обратной инженерии строк запроса. Манипулирование ими в python делает довольно быстрое, гибкое выскабливание.