Python mechanisieren Javascript

Ich versuche, mithilfe der Mechanisierung die Preise für die U-Bahn-Nordbahn in New York von dieser Website aus zu ermitteln:
http://as0.mta.info/mnr/fares/choosestation.cfm

Das Problem ist, dass die Site bei Auswahl der ersten Option Javascript verwendet, um Ihre Liste der möglichen Ziele aufzufüllen. Ich habe äquivalenten Code in Python geschrieben, aber ich kann anscheinend nicht alles zum Laufen bringen. Folgendes habe ich bisher:

import mechanize
import cookielib
from bs4 import BeautifulSoup

br = mechanize.Browser()
br.set_handle_robots(False)
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')]

br.open("http://as0.mta.info/mnr/fares/choosestation.cfm")

br.select_form(name="form1")
br.form.set_all_readonly(False)

origin_control = br.form.find_control("orig_stat", type="select")
origin_control_list = origin_control.items
origin_control.value = [origin_control.items[0].name]

destination_control_list = reFillList(0, origin_control_list)

destination_control = br.form.find_control("dest_stat", type="select")
destination_control.items = destination_control_list
destination_control.value = [destination_control.items[0].name]

response = br.submit()
response_text = response.read()
print response_text

Ich weiß, ich habe dir keinen Code für das gegebenreFillList() Methode, da es lang ist, aber davon ausgehen, dass es korrekt eine Liste von mechanize.option-Objekten erstellt. Python beschwert sich über nichts über mich, aber beim Absenden erhalte ich den HTML-Code für diese Warnung:

"Tarifinformationen für Reisen zwischen zwei Linien sind online nicht verfügbar. Bitte wenden Sie sich an unser Kundeninformationszentrum unter 511 und bitten Sie um ein Gespräch mit einem Vertreter, um weitere Informationen zu erhalten."

Vermisse ich hier etwas? Danke für all die Hilfe!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage