Nehmen Sie einen screenshot von einer website, die von der Kommandozeile oder mit python
werde ich einen screenshot von dieser Seite: http://books.google.de/books?id=gikDAAAAMBAJ&pg=PA1&img=1&w=2500 oder speichern Sie das Bild, das es gibt.
Aber ich kann nicht einen Weg finden. Mit wget/curl bekomme ich ein "nicht verfügbar Fehler" und auch mit anderen tools wie webkit2png/wkhtmltoimage/wkhtmltopng.
Ist es eine saubere Art und Weise, es zu tun mit python oder von der Kommandozeile?
Beste Grüße!
- ich glaube, das beantwortet wurde in einem anderen thread?
- Soweit verstehe ich das, Sie nehmen kein screenshot von einer Webseite, die nur von einem geöffneten Fenster. Aber mein plan ist, es zu tun, ohne öffnen Sie die url durch meine selbst. Es ~1000 Bilder zu speichern. Nur die cover von einigen Büchern.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Manchmal benötigen Sie zusätzliche http-Header wie User-Agent zu bekommen, downloads zu arbeiten. In python 2.7, können Sie:
Oder kann man sich die params für das hinzufügen von http-Headern in wget oder curl.
url
istdirect link to image
. Für andere html-basierte web-Seite, das funktioniert nicht. Außerdem kann man direkt verwendenurllib.urlretrieve
wenn die url ist mit Sicherheit ein Bild.Können Sie verwenden ghost.py wenn Sie wie.
http://jeanphix.me/Ghost.py/
Hier ist ein Beispiel, wie es zu benutzen.
Die Letzte Zeile speichert das Bild in Ihrem aktuellen Verzeichnis.
Hoffe, das hilft
Ich hatte Schwierigkeiten, Geist nehmen Sie einen screenshot konsequent auf einen headless Centos VM. Selen und PhantomJS für mich gearbeitet:
Traceback (most recent call last): File "C:\bunker\Lib\site-packages\custom_selenium.py", line 2, in <module> br = webdriver.PhantomJS() File "C:\bunker\Lib\site-packages\selenium\webdriver\phantomjs\webdriver.py", line 49, in __init__ service_args=service_args,log_path=service_log_path) TypeError: __init__() got an unexpected keyword argument 'log_path'