Je vais prendre une capture d'écran à partir de cette page: http://books.google.de/ livres? id = gikdaaaambaj & pg = PA1 & img = 1 & W = 2500 ou enregistrer l'image qu'elle produise. p>
Mais je ne peux pas trouver un moyen. Avec wget / Curl, je reçois une "erreur indisponible" et aussi avec d'autres outils tels que webkit2png / wkhtmltoimage / wkhtmltopng. P>
Y a-t-il un moyen propre de le faire avec Python ou de Commandline? P>
meilleures salutations! p>
3 Réponses :
Parfois, vous avez besoin d'en-têtes HTTP supplémentaires tels que l'agent utilisateur pour obtenir des téléchargements pour fonctionner. Dans Python 2.7, vous pouvez:
import urllib2 request = urllib2.Request( r'http://books.google.de/books?id=gikDAAAAMBAJ&pg=PA1&img=1&w=2500', headers={'User-Agent':'Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 firefox/2.0.0.11'}) page = urllib2.urlopen(request) with open('somefile.png','wb') as f: f.write(page.read())
Pourtant, cela ne produira pas une image du site Web capturé. L'image sera cassée.
@Sarvagyapant J'ai rencontré ce script et a vérifié qu'une image non cassée est téléchargée. Cela m'a pris moins d'une minute. Pouvez-vous s'il vous plaît mettre un minimum de travail avant de faire des revendications non fondées.
Il ne fera que l'image correcte uniquement lorsque le URL code> est
lien direct vers image code>. Pour une autre page Web basée sur HTML, cela ne fonctionnera pas. De plus, on peut utiliser directement
urllib.urlretrieve code> si l'URL est garantie d'être une image.
Cela fonctionne pour toute ressource unique telle qu'une image, une page Web, un MP3, un PDF et etc ... il ne suit pas les liens ni la construction d'une page Web composite, mais ce n'est pas ce que l'utilisateur était après. Il nous a montré une URL à une image et a déclaré qu'il voulait une "capture d'écran" de l'image. Mais la "capture d'écran" n'est que le fichier image lui-même. Il existe plusieurs façons de télécharger un contenu Web - mon exemple est une manière acceptée parfaitement normale.
Vous pouvez utiliser ghost.py si vous le souhaitez. https://github.com/jeanphix/ghost.py
Voici un exemple Comment l'utiliser. P> La dernière ligne enregistre l'image dans votre répertoire actuel. p> espère que cela aide P> P>
Joli. On dirait vraiment bien, mais je ne veux pas installer qt. : /
J'ai eu du mal à obtenir un fantôme de prendre une capture d'écran de manière systématique sur un VM Centos sans tête. selenium et Phantomjs a travaillé pour moi:
Je reçois cette erreur lors de l'exécution de cette erreur: Traceback (appel le plus récent): Fichier "C: \ Bunker \ Lib \ Site-Sites-Packages \ Custom_selenium.py", Ligne 2, dans
hmm, pas sûr mais je me demande ce qui se passe si vous éditez webdiver.py init b> et supprimer l'argument log_path
Je crois que cela a été répondu dans un fil différent?
Autant que je comprends bien cela, ils ne prennent aucune capture d'écran à partir d'une page Web, uniquement à partir d'une fenêtre ouverte. Mais mon plan est de le faire sans ouvrir l'URL par moi-même. Il y a ~ 1000 images à sauver. Couvre seulement de certains livres.