Die Navigation einer website in python, Schaben und buchen
Gibt es viele gute Ressourcen, die bereits auf stackoverflow, aber ich bin immer noch ein Thema. Ich habe besucht diese Quellen:
- gewusst wie: senden von Abfrage zu .aspx-Seite in python
- Die Einreichung einer post-Anforderung an eine aspx-Seite
- Verschrottung aspx-Webseite mit Python mit BeautifulSoup
- http://www.pythonforbeginners.com/cheatsheet/python-mechanize-cheat-sheet
Versuche ich zu Besuch http://www.latax.state.la.us/Menu_ParishTaxRolls/TaxRolls.aspx und wählen Sie eine Pfarrei. Ich glaube, dass dies erzwingt, dass ein post und lässt mich wählen Sie ein Jahr, die Beiträge wieder, und ermöglicht für noch mehr Auswahl. Ich habe geschrieben das mein Skript ein paar verschiedene Möglichkeiten, nach den oben genannten Quellen und noch nicht erfolgreich Einreichen können, die Website, mir zu erlauben, geben Sie ein Jahr.
Meinen aktuellen code
import urllib
from bs4 import BeautifulSoup
import mechanize
headers = [
('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),
('Origin', 'http://www.indiapost.gov.in'),
('User-Agent', 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17'),
('Content-Type', 'application/x-www-form-urlencoded'),
('Referer', 'http://www.latax.state.la.us/Menu_ParishTaxRolls/TaxRolls.aspx'),
('Accept-Encoding', 'gzip,deflate,sdch'),
('Accept-Language', 'en-US,en;q=0.8'),
]
br = mechanize.Browser()
br.addheaders = headers
url = 'http://www.latax.state.la.us/Menu_ParishTaxRolls/TaxRolls.aspx'
response = br.open(url)
# first HTTP request without form data
soup = BeautifulSoup(response)
# parse and retrieve two vital form values
viewstate = soup.findAll("input", {"type": "hidden", "name": "__VIEWSTATE"})
eventvalidation = soup.findAll("input", {"type": "hidden", "name": "__EVENTVALIDATION"})
formData = (
('__EVENTVALIDATION', eventvalidation[0]['value']),
('__VIEWSTATE', viewstate[0]['value']),
('__VIEWSTATEENCRYPTED',''),
)
try:
fout = open('C:\\GIS\\tmp.htm', 'w')
except:
print('Could not open output file\n')
fout.writelines(response.readlines())
fout.close()
Habe ich auch versucht diese in die Schale und was ich eingegeben plus das, was ich erhielt (modifiziert nach reduzieren auf die bulk) gefunden werden kann http://pastebin.com/KAW5VtXp
Sowieso ich versuchen, ändern Sie den Wert in der Pfarrei dropdown-Liste, und post bekomme ich eine webmaster-login-Seite.
Bin ich an dieses der richtige Weg? Irgendwelche Gedanken wäre sehr hilfreich.
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Landete ich mit Selen.