Je dois effectuer un raclage sur un site Web après l'envoi d'un formulaire de recherche. Le problème est que lorsque je fais cela via le navigateur, la page ne recharge pas et je ne suis pas redirigé n'importe où: les résultats sont affichés sous le formulaire de recherche sans aucun changement au lien, bien que je puisse les voir dans la "nouvelle" page html Mais quand j'utiliser le code suivant, je ne peux pas voir le html page « nouvelle » qui devrait être dans la réponse (le lien fourni est celui que je suis en train d'essayer de travailler avec):Python3: il ne se passe rien lors de la soumission d'un formulaire via MechanicalSoup
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")
je peux Je ne comprends pas ce qui me manque. Je préfère ne pas utiliser de sélénium. Des indices?
Merci pour la réponse, mais à la fin je devais utiliser Sélénium, car après avoir soumis le résultat j'ai besoin de télécharger les fichiers pdf ... et il semble qu'il n'y a pas d'autre moyen que d'utiliser le sélénium et le « clic "ces résultats. Mon nouveau problème est robots.txt, mais il y a peu que je puisse faire si je veux me conformer –