Abrufen von Daten/Formular von einer Website, versuchte ich Mechanisieren und Selen, alle fehlgeschlagen.Abrufen der Webseite, aber benötigen Javascript, um den Seiteninhalt anzuzeigen
mechanisieren
das Skript sieht aus wie die unten,
import sys
import mechanize
url ='xxx'
response2=br.open(url)
request = br.request
print (response2.info())
print (response2.read())
Ausgang:
Cache-Control: no-store, must-revalidate, no-cache, max-age=0
Content-Type: text/html
Connection: close
Vary: Accept-Encoding
Pragma: no-cache
Expires: -1
CacheControl: no-cache
X-UA-Compatible: IE=edge
Content-Type: text/html; charset=utf-8
... more content ...
<noscript>Please enable JavaScript to view the page content.</noscript>
</head><body>
</body></html>
Selen
so denke ich, vielleicht kann ich Selen js laufen, wie
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
url= 'xxx'
driver.get(url)
print driver.context
print driver.title
print driver.page_source
driver.close()
aber ich nicht wieder, das Ergebnis ist fast das gleiche:
...
<noscript>Please enable JavaScript to view the page content.</noscript>
...
Ich möchte nur die richtigen Inhalte/Form von der Website holen, und submit
oder post
der Daten/Formular Server, um einen Webbrowser zu simulieren, der die Aktion besucht.
Ich habe keine Ideen jetzt, ich weiß nicht sehr viel wie Selen arbeiten, und warte auf Ihre Hilfe, danke im Voraus.
sorry, die URL vergessen haben, ist url 'https: //onlineservices.immigration.govt.nz/ WHS' – tim
können Sie versuchen, das Hinzufügen this..profile = webdriver.FirefoxProfile() .. Profil .set_preference ("javascript.enabled", True..broswer = webdriver.Firefox (Profil) –
Wenn ich die Seite besuche, zeigen sie mir einen Bildcode, um nicht-menschliche Besucher zu verhindern. Offensichtlich wollen sie nicht, dass Sie sie holen die Daten – codeiscool