python pyqt4 qtwekit 实现百度自动登录领米粒
2011-01-21 17:26
831 查看
研究了好久终于成功了,下次搞淘宝,哈哈.......
这个代码需要PyQT4才行,要包括qtwebkit
这个代码需要PyQT4才行,要包括qtwebkit
# #coding:utf-8 import re import sys reload(sys) sys.setdefaultencoding('utf-8') import PyQt4 import signal from PyQt4 import QtCore, QtGui from PyQt4 import uic from PyQt4.QtCore import * from PyQt4.QtGui import * from PyQt4.QtWebKit import * from PyQt4.QtNetwork import * class Baidu(QtCore.QObject): def __init__(self): QObject.__init__(self) self.page = QWebPage()#如果想看图形窗口的话,注释掉本行,把下三已注释行取消注释即可 #self.webview = QWebView() #self.page=self.webview.page() self.current = "https://passport.baidu.com/?login" self.logged = False self.frame = self.page.mainFrame() QtCore.QObject.connect(self.frame,QtCore.SIGNAL('loadFinished(bool)'),self.do_do) #self.webview.show() def start(self,username,password): self.username=username self.password=password self.frame.load(QUrl(self.current)) def do_do(self,bool): url = self.frame.url() print url.toString() if url.toString() == "https://passport.baidu.com/?login" : if self.logged == False: self.do_login() self.logged=True else: #e = self.frame.findFirstElement("td[id=errortd]") if 'url=url.replace(/^/.///gi,"http://passport.baidu.com/");' not in self.frame.toHtml(): print 'login failed' sys.exit(1) if url.toString() == "http://passport.baidu.com/center" : print 'login successed' self.frame.load(QUrl('http://hi.baidu.com/'+self.username+'/ihome/ihomefeed')) if url.toString() == "http://hi.baidu.com/"+self.username+"/ihome/ihomefeed": self.do_coin() def do_login(self): print 'do login' #js_file = open('baidu_login.js','r') #js = js_file.read() #js_file.close() js="frm=document.forms[0];frm.username.value='"+self.username+"';frm.normModPsp.value='"+self.password+"';checkForm(frm);frm.submit();" #print js self.frame.evaluateJavaScript(js) def do_coin(self): print 'do coin' #js_file = open('baidu_coin.js','r') #js = js_file.read() #js_file.close() js="if(baidu.g('dumili-get-btn').className=='able'){App.points.savePoints();}" self.frame.evaluateJavaScript(js) sys.exit(1) if __name__ == "__main__": app = QApplication(sys.argv) baidu = Baidu() baidu.start("username","password") sys.exit(app.exec_())
相关文章推荐
- python实现百度、CSDN、淘宝、人人自动登录(第一季)
- selenium2+python_用cookie实现自动登录(百度首页为例)
- python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
- python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
- python实现百度、CSDN、淘宝、人人自动登录(第一季)
- Ubuntu+PyQt5+Python3.6+Qt Designer 实现可视化窗口的编辑
- [Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍
- python3+PyQt5+Qt Designer实现堆叠窗口部件
- python3+PyQt5+Qt Designer实现扩展对话框
- Python实现Selenium实现自动登录CSDN
- python3+PyQt5+Qt Designer实现扩展对话框
- python实现校园网自动登录的示例讲解
- casperjs配合phantomjs实现自动登录百度,模拟点击等等操作 - 怕虎在线www.ipahoo.com图文教程 - 怕虎在线
- Python实现BBS自动登录并发帖
- selenium+python实现自动登录脚本
- python实现校园网自动登录
- Python使用selenium实现网页用户名 密码 验证码自动登录功能
- python实现二维码扫码自动登录淘宝
- Python实现学校学生管理系统的自动登录
- python+selenium实现登录账户后自动点击