4
我试图存储从网站获取的所有饼干并打印它们。 请帮我开始工作,因为我认为我没有储存任何东西,这就是为什么我没有输出任何东西的原因。从QNetworkCookie打印饼干,PyQt4
我测试在谷歌网站的代码,我敢肯定,他们存储的cookie,一旦你到那里页面。
所以我试图让所有可用的cookie,并打印出来。这里是代码:
#! /usr/bin/env python2.7
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtNetwork import *
from PyQt4.QtWebKit import *
import sys, os, simplejson, signal
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.tabs = QTabWidget()
self.setCentralWidget(self.tabs)
self.settings = QSettings()
self.numberOfTabs = 0
self.cookies = QNetworkCookieJar()
self.cookies.setAllCookies([QNetworkCookie.parseCookies(c)[0] for c in self.get('cookiejar')])
def put(self, key, value):
self.settings.setValue(key, simplejson.dumps(value))
self.settings.sync()
def get(self, key):
v = self.settings.value(key)
return simplejson.loads(unicode(v.toString()))
def addNewTab(self, url=QUrl('')):
self.numberOfTabs += 1
self.tabs.setCurrentIndex(self.tabs.addTab(Tab(QUrl(url)),'%s'%str(self.numberOfTabs)))
self.setCookies()
return self.tabs.currentWidget()
def setCookies(self):
self.put('cookiejar', [str(c.toRawForm()) for c in self.cookies.allCookies()])
print self.get('cookiejar')
class Tab(QWebView):
def __init__(self, url):
QWebView.__init__(self)
self.load(url)
if __name__ == '__main__':
app = QApplication(sys.argv)
browser = MainWindow()
browser.addNewTab('https://google.com')
browser.show()
if signal.signal(signal.SIGINT, signal.SIG_DFL):
sys.exit(app.exec_())
app.exec_()
非常感谢您! – Vor