Python urllib2 das automatische ausfüllen und den Abruf der Ergebnisse
Ich bin auf der Suche, um in der Lage sein, um die Abfrage einer Website für Garantie-Informationen auf eine Maschine, mit der dieses Skript laufen würde, auf. Es sollte in der Lage sein, ein Formular ausfüllen, wenn erforderlich ( wie in dem Fall sagen, dass HP-service-Website) und würde dann in der Lage sein, um das abrufen der resultierenden web-Seite.
Ich habe schon die bits an Ort und Stelle zu analysieren, die daraus resultierenden html-Code, der zurück gemeldet ich hab nur Probleme mit dem, was getan werden muss, um einen BEITRAG von Daten, die gestellt werden muss, in die Felder und dann abrufen zu können, wird die resultierende Seite.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie absolut müssen zu verwenden, urllib2, der Grundtenor ist:
Wenn Sie entlang senden-POST-Daten (das 2. argument
urlopen()
), die request-Methode wird automatisch zu POSTEN.Ich schlage vor, Sie tun sich einen gefallen und verwenden Sie mechanisieren, ein full-geblasen urllib2 ersetzt und wirkt genau wie ein echter browser. Eine Menge von Websites verwenden hidden-Feldern, cookies und redirects, von denen keine urllib2 Griffe für Sie standardmäßig, wo mechanize nicht.
Check-out Emuliert einen browser in Python mechanize für ein gutes Beispiel.
Mit das urllib und urllib2 zusammen,
Inhalt wird Ihnen der Quelltext der Seite.
Habe ich nur getan, ein bisschen von diesem, aber:
name
Attribut für jedes Formular-Feld müssen Sie ausfüllen.urllib.urlencode
drehen Sie das Wörterbuch, in den Körper der post Anfrage.urllib2.Request()
nach der URL, das Formular muss eingereicht werden.Server wird, kehren Sie entweder die resultierende web-Seite, oder zurück eine Umleitung auf eine resultierende web-Seite. Wenn es die letztere, die Sie benötigen, um ein Problem
GET
- Anforderung an die angegebene URL im redirect-Antwort.Ich hoffe, dass macht eine Art von Sinn?