Die Seite Ich bin zu Spinne versucht, wird mit dem javascript:Wie bekomme ich Pythons Mechanize, um eine Ajax-Anfrage zu senden?
request.open("POST", url, true);
in zusätzliche Informationen über Ajax zu ziehen, die ich Spinne benötigen. Ich habe verschiedene Permutationen versucht:
r = mechanize.urlopen("https://site.tld/dir/" + url, urllib.urlencode({'none' : 'none'}))
Mechanize zu bekommen die Seite zu bekommen, aber es ergibt sich mir immer wieder die Login-HTML bekommen, was darauf hinweist, dass etwas nicht stimmt. Firefox scheint laut Firebug keine HTTP-Daten zum POST hinzuzufügen, und ich füge ein leeres Feld hinzu, um zu versuchen, die URL zu zwingen, "POST" anstatt "GET" zu verwenden, in der Hoffnung, dass die Seite das Feld ignoriert. Ich dachte, dass die URL von Mechanize Cookies enthält. Da es sich jedoch um HTTPS handelt, ist es schwierig, die Transaktion zu debuggen.
Gibt es einen besseren Weg?
Auch scheint es nicht anständige API-Dokumentation für Mechanize, nur Beispiele. Das ist nervig.
Wie bringt es der Platz in den POST-Modus? Sind das nicht nur die Daten, oder ist Post als ein Raum für Mechanisierung definiert? – brainysmurf
@brainysmurf Ohne den Speicherplatz ist es eine GET-Anfrage, aber durch die Bereitstellung einer Daten ändert es sich zu einer POST-Anfrage, und ein Leerzeichen ist die kleinste einfachste "Daten", die ich bereitstellen könnte. Der Raum an sich ist nichts Besonderes. – fret