Ich muss nach dem Absenden eines Suchformulars etwas auf einer Webseite scrappen. Das Problem ist, dass wenn ich das über den Browser mache, die Seite nicht neu geladen wird und ich nirgends umgeleitet werde: Das Ergebnis wird unterhalb des Suchformulars angezeigt, ohne den Link zu ändern, obwohl ich sie auf der "neuen" Seite sehen kann html. Aber wenn ich folgenden Code verwenden kann ich nicht die „neue“ Seite html sehen, die in der Antwort sein sollte (der Link zur Verfügung gestellt ist derjenige ich versuche tatsächlich, mit zu arbeiten):Python3: Wenn ich ein Formular über MechanicalSoup abschicke, passiert nichts.
import mechanicalsoup
def fetchfile(query):
url = "http://www.italgiure.giustizia.it/sncass/"
browser = mechanicalsoup.Browser()
page = browser.get(url)
search_form = page.soup.find("form", {"id": "z-form"})
search_form.find("input", {"id":"searchterm"})["value"] = query
response = browser.submit(search_form, page.url)
print(response) # the response is 200, so it should be a good sign
# actual parsing will come later...
print("1235" in response.text) # quick-check to see if there is what I'm looking for, but I get False
# in fact this...
print(page.text == response.text) # ...gives me True
fetchfile("1235/2012")
ich kann verstehe nicht, was ich vermisse. Ich würde lieber kein Selen verwenden. Irgendwelche Hinweise?
Danke für die Antwort, aber am Ende hatte ich Selen zu verwenden, da nach dem Ergebnis der Einreichung ich die pdf-Dateien herunterladen muß ... und es scheint, dass es keine andere Möglichkeit gibt Selen und „Klicken als die Verwendung von "Diese Ergebnisse. Mein neues Problem ist robots.txt, aber es gibt wenig, was ich tun kann, wenn ich es einhalten will –