Tengo que rascar una página muy, muy simple en la intranet de nuestra compañía para automatizar uno de nuestros procesos internos (devolviendo la salida de una función como exitosa o no).Raspado de páginas web controladas por Javascript con PyQt4: ¿cómo acceder a las páginas que necesitan autenticación?
me encontré con el siguiente ejemplo:
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.QtWebKit import *
class Render(QWebPage):
def __init__(self, url):
self.app = QApplication(sys.argv)
QWebPage.__init__(self)
self.loadFinished.connect(self._loadFinished)
self.mainFrame().load(QUrl(url))
self.app.exec_()
def _loadFinished(self, result):
self.frame = self.mainFrame()
self.app.quit()
url = 'http://sitescraper.net'
r = Render(url)
html = r.frame.toHtml()
De http://blog.sitescraper.net/2010/06/scraping-javascript-webpages-in-python.html y es casi perfecto. Solo necesito poder proporcionar autenticación para ver la página.
He estado revisando la documentación de PyQt4 y voy a admitir que está muy por encima de mi cabeza. Si alguien pudiera ayudar, lo agradecería.
Editar: Lamentablemente, el método de gruszczy no funcionó para mí. Cuando yo había hecho algo similar a través de urllib2, he utilizado el siguiente código y funcionó ...
username = 'user'
password = 'pass'
req = urllib2.Request(url)
base64string = base64.encodestring('%s:%s' % (username, password))[:-1]
authheader = "Basic %s" % base64string
req.add_header("Authorization", authheader)
handle = urllib2.urlopen(req)
No estaba seguro de cómo formatear correctamente el código en el área de comentarios aquí, así que edité la pregunta anterior. – merph
Entonces me temo que no tengo ni idea, cómo hacerlo: -/ – gruszczy
Eso es genial, de todos modos. Me pusiste en el camino correcto. – merph