Посмотрите на this documentation пакета urlib2
. Ниже приведен код, который вы будете использовать, но в документации объясняется (очень хорошо), что происходит.
Выдержки:
import urllib
import urllib2
url = 'http://www.someserver.com/cgi-bin/register.cgi'
values = {'name' : 'Michael Foord',
'location' : 'Northampton',
'language' : 'Python' }
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
Вам нужно будет использовать HTML-парсер, как BeautifulSoup получить имя параметра и значение, которое в настоящее время размещен при нажатии на кнопку.
Edit:
Да, вы могли бы использовать mechanize для этого, как хорошо. Вы бы сделать что-то вроде этого (непроверенные):
from mechanize import Browser
br = Browser()
br.open("http://www.example.com/") # this would be your website
br.select_form(name="order") # change this to the name of your form
response = br.submit() # submits the form, just like if you clicked the submit button
print response.geturl() # prints the URL you are looking for
Вы должны будете сделать это специфичные для вашего сайта/формы, но что-то вдоль этих линий следует сделать трюк.
Проверьте, есть ли у вас examples/documentation для объекта ClientForm
, если вам нужно больше контроля.
Я смотрю на механизацию, но мне интересно, будет ли это работать. потому что на веб-сайте проверяется, загружена ли страница 3 jpeg (реклама). Можно ли также эмулировать механизировать? – 2010-04-15 20:40:44
Если это проверка javascript, то да, вы можете использовать механизм javascript spidermonkey с механизацией: http://pypi.python.org/pypi/python-spidermonkey – NeonNinja
Также есть Scrapy: http://scrapy.org/, но я не использовали его сам. – NeonNinja