我有一个需要抓取flash表单的网站。除了要填写flash表单外,我还想对不支持POST请求的URL进行一些键/值GET的编码。

我使用spynner与网站进行交互,并且spynner可以具有GUI,但是我在google,stackoverflow,spynner github和spynner模块中的搜索均未成功。

如果spynner无法执行POST请求,也许gtkqt + webkit可以做到这一点?任何现实生活中的代码示例将不胜感激。

最佳答案

您可以使用Spynner做到这一点:

import spynner
from PyQt4.QtCore import QUrl
from PyQt4.QtNetwork import QNetworkRequest, QNetworkAccessManager

url = "http://localhost:8080/niklas/test.php"
data = "foo=bar"
headers = { "Content-Type": "application/x-www-form-urlencoded" }

req = QNetworkRequest(QUrl(url))
for k, v in headers.items():
    req.setRawHeader(k, v)

browser = spynner.Browser()
browser.webframe.load(req, QNetworkAccessManager.PostOperation, data)
browser._wait_load()

print browser.html

10-07 14:57