Python не может получить форму с помощью urllib или механизировать

Я пытаюсь заполнить и отправить форму с использованием Python, но не могу получить получившуюся страницу. Я пытался опубликовать форму как механизированными методами, так и методами urllib / urllib2, но у обоих возникли проблемы.

Форма, которую я пытаюсь получить, находится здесь:http://zrs.leidenuniv.nl/ul/start.php, Страница на голландском, но это не имеет отношения к моей проблеме. Следует отметить, что действие формы перенаправляет наhttp://zrs.leidenuniv.nl/ul/query.php.

Прежде всего, это метод urllib / urllib2, который я пробовал:

import urllib, urllib2
import socket, cookielib

url = 'http://zrs.leidenuniv.nl/ul/start.php'
params = {'day': 1, 'month': 5, 'year': 2012, 'quickselect' : "unchecked",
          'res_instantie': '_ALL_', 'selgebouw': '_ALL_', 'zrssort': "locatie",
          'submit' : "Uitvoeren"}
http_header = {  "User-Agent" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.46 Safari/535.11",
                 "Accept" : "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                 "Accept-Language" : "nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4" }

timeout = 15
socket.setdefaulttimeout(timeout)

request = urllib2.Request(url, urllib.urlencode(params), http_header)
response = urllib2.urlopen(request)

cookies = cookielib.CookieJar()
cookies.extract_cookies(response, request)
cookie_handler = urllib2.HTTPCookieProcessor(cookies)
redirect_handler = urllib2.HTTPRedirectHandler()

opener = urllib2.build_opener(redirect_handler, cookie_handler)

response = opener.open(request)
html = response.read()

Однако, когда я пытаюсь напечатать полученный html, я получаю исходную страницу, а не ту, к которой относится действие формы. Поэтому любые намеки на то, почему это не отправляет форму, будут высоко оценены.

Поскольку вышеприведенное не сработало, я также попытался использовать механизацию для отправки формы. Однако это приводит к ParseError со следующим кодом:

import mechanize

url = 'http://zrs.leidenuniv.nl/ul/start.php'
br = mechanize.Browser()
response = br.open(url)
br.select_form(nr = 0)

где выходит последняя строка со следующим: «ParseError: непредвиденный» - «&»; символ в объявлении & quot ;. Теперь я понимаю, что эта ошибка может указывать на ошибку в объявлении DOCTYPE, но, поскольку я не могу редактировать страницу формы, я не могу попробовать другие объявления. Любая помощь по этой ошибке также с благодарностью.

Заранее спасибо за помощь.

Ответы на вопрос(1)

Ваш ответ на вопрос