使用pyqt自动登录5sing.com

73 篇文章 2 订阅
6 篇文章 0 订阅
#coding=utf-8

__author__ = 'Administrator'

import sys
from PyQt4 import QtCore, QtGui, QtWebKit, QtNetwork

BD_URL = 'http://www.sina.cn'
BD_URL = 'http://5sing.kugou.com/fc/14217069.html'
LOGIN_URL = 'http://5sing.kugou.com/login/'

def setAppProxy():
    proxy = QtNetwork.QNetworkProxy()
    #Http访问代理
    proxy.setType(QtNetwork.QNetworkProxy.HttpProxy)
    #proxy.setType(QtNetwork.QNetworkProxy.DefaultProxy)
    proxy.setHostName(u'proxy3.bj.petrochina')
    proxy.setPort(8080)
    QtNetwork.QNetworkProxy.setApplicationProxy(proxy)

class WebView(QtWebKit.QWebView):
    def __init__(self, parent=None):
        super(WebView, self).__init__(parent)
        self.urlChanged.connect(self.on_url_change)
        self.loadFinished.connect(self.on_load_finish)

    @QtCore.pyqtSlot(QtCore.QUrl, name='urlChange')
    def on_url_change(self, url):
        print(url.toString())

    @QtCore.pyqtSlot(bool, name='loadFinish')
    def on_load_finish(self, ok):
        if self.url() == QtCore.QUrl(LOGIN_URL):
            print(u'加载:%s' % (u'成功' if ok else u'失败'))
            login_script="$('#txtUserName').val('156?????');"\
                         "$('#txtPassword').val('????');"\
                         "$('form').submit();"
            res = self.page().mainFrame().evaluateJavaScript(login_script)
            print(res)

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)

    #设置应用程序级的代理
    setAppProxy()

    br = WebView()
    ws = br.settings()

    br.load(QtCore.QUrl(LOGIN_URL))
    br.setWindowTitle(u'浏览器')
    br.show()

    app.exec_()

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值