相关疑难解决方法(0)

使用PyQt4刮取Javascript驱动的网页 - 如何访问需要身份验证的网页?

我必须在我们公司的内部网上抓一个非常非常简单的页面,以便自动化我们的一个内部进程(将函数的输出返回成功与否).

我找到了以下示例:

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()
Run Code Online (Sandbox Code Playgroud)

来自http://blog.sitescraper.net/2010/06/scraping-javascript-webpages-in-python.html,它几乎是完美的.我只需要能够提供身份验证来查看页面.

我一直在查看PyQt4的文档,我承认很多都是我的头脑.如果有人可以提供帮助,我会很感激.

编辑: 不幸的是gruszczy的方法对我不起作用.当我通过urllib2做了类似的事情时,我使用了以下代码并且它有效...

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)
Run Code Online (Sandbox Code Playgroud)

python ssl pyqt web-scraping pyqt5

9
推荐指数
1
解决办法
6797
查看次数

标签 统计

pyqt ×1

pyqt5 ×1

python ×1

ssl ×1

web-scraping ×1