Python - Capturar una web en imagen jpg o png

 
Vista:
sin imagen de perfil
Val: 67
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Capturar una web en imagen jpg o png

Publicado por Samuel (38 intervenciones) el 23/02/2017 14:06:58
Hola!

Soy novato en python, quiero crear una imagen jpg o png de una página web, para que me entiendas por ejemplo algo como esto.



screencapture-filmaffinity-es-main-html-1487793436120

¿Cómo puedo hacerlo? ¿Conoces un script que haga esto? No encuentro nada :(

¡Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 67
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Capturar una web en imagen jpg o png

Publicado por Samuel (38 intervenciones) el 27/02/2017 02:18:54
Este script me funciona perfectamente, pero necesito una modificación que no se hacer

¿Puede alguien ayudarme con la modificación de script?

 Quiero indicar qué área de la web quiero capturar, (ahora simplemente pongo el tamaño de la zona de captura) y que la resolución final de la imagen sea más alta, ya que con este script la calidad de la captura no es muy buena, me da igual el peso final de la imagen y que salga una imagen grande.

Mil gracias por adelantado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import sys
import time
import os
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
 
width= int(530)
height=int(1060)
 
 
 
class Screenshot(QWebView):
 
    def __init__(self):
        self.app = QApplication(sys.argv)
        QWebView.__init__(self)
        self._loaded = False
        self.loadFinished.connect(self._loadFinished)
 
    def capture(self, url, output_file):
        self.load(QUrl(url))
        self.wait_load()
 
        time.sleep(2)
 
        # set to webpage size
        frame = self.page().mainFrame()
 
        self.page().setViewportSize(QSize(width, height,))
 
 
        # render image
        image = QImage(self.page().viewportSize(), QImage.Format_ARGB32)
        painter = QPainter(image)
        frame.render(painter)
        painter.end()
        print ('Guardada'), output_file
        image.save(output_file)
 
    def wait_load(self, delay=0):
        # process app events until page loaded
        while not self._loaded:
            self.app.processEvents()
            time.sleep(delay)
        self._loaded = False
 
    def _loadFinished(self, result):
        self._loaded = True
 
filename = "capture"
 
 
s = Screenshot()
s.capture('http://www.filmaffinity.com/es/main.html', filename+(time.strftime("-%H-%M-%S"))+".png")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 67
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Capturar una web en imagen jpg o png

Publicado por Samuel (38 intervenciones) el 28/02/2017 02:59:47
Supongo que si nadie contesta es porque no sabrán como ayudarme, ¿sabéis algún sitio mas especializado en esto? en PyQt4 me refiero

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar