开发者

Python, parse html form

开发者 https://www.devze.com 2023-01-12 19:43 出处:网络
how I cangetinput from html forms on other sites? I want it to return a dictionary such as: form = [(\'name\' = \'somename\', \'type\' = \'text\', \'value\':\'\'},{\' name\' = \'somename\', \'type\'

how I can get input from html forms on other sites? I want it to return a dictionary such as:

form = [('name' = 'somename', 'type' = 'text', 'value':''},{' name' = 'somename', 'type' = 'submit', 'va开发者_开发问答lue': ' submit ').

Sorry for my English.


you probably wont be able to retrieve form data from other users on other sites. If you wish to use a script to send data to a form, mechanize is one tool that makes this quite easy.


Yeah mechanize is sweet !

import mechanize

# Browser
br = mechanize.Browser()
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

# we inspect the all form element in the http://stackoverflow.com
br.open('http://stackoverflow.com')
for form in br.forms():
    print form


Look at mechanize, lxml.html and BeatifulSoup.

0

精彩评论

暂无评论...
验证码 换一张
取 消