欢迎您访问无忧自考网!

用PyQt5制作QQ空间登录客户端

更新时间:2023-01-05 16:22:59作者:51data

PyQt5的资料太少,能力有限,需要一天。 做了时间客户端。 因为只有有bug和注册获取cookie的功能,所以现在做学习记录吧。 后期有时间。

安装第三方库后,请执行复制& amp; 可以通过粘贴来执行。

用PyQt5制作QQ空间登录客户端

导入系统

导入请求

from PyQt5.Qt import *

from pyqt5. qtwebenginewidgetsimportqwebengineview,QWebEngineProfile

from pyqt5. qtwidgetsimportqapplication,q构件,QPushButton

classmainwindows ( q构件) :

def __init__(self,*args,**kwargs ) :

super ( ).__init_ ) ( args,**kwargs ) ) ) ) ) ) ) )。

self.setWindowTitle(& #039; 测试& #039; ) ) ) ) ) ) ) ) ) ) )。

self.setwindowicon(qicon ) ( N6.ico ) )

elf.resize ( 800,800 ) #主窗口大小

self.setfixedsize ( 800,800 ) #主窗口大小不能自由缩小

self.setup_ui ( )

efsetup_ui(self ) :

self.Brows ( ) )

self.Cookie_btn (

self.textLine (

self.loadJS (

self.showTX (

efshowtx(self ) :

self.lab=QLabel(self )

self.lab.setText(& #039; ) )。

self.lab.resize ( 100,100 ) )。

self.lab.move ( 50,50 ) )。

# self.lab.set pixmap ( qpixmap ( & amp; #039;/info.png& #039; ) )

deftextline(self ) :

self.pte=qplaintextedit(self ) )。

#self.pte.setplaintext(& #039; 111 ) )。

self.pte.resize ( 300,300 ) )。

self.pte.move ( 300,250 ) )。

efloadjs(self ) :

self.ld=QPushButton(self )

self.ld.setText ( )单击以获取基本信息) )。

self.LD.move ( 150,0 ) )。

# self.BTN _ get.clicked.connect ( self.run _ js ) )。

self.LD.clicked.connect ( self.down userinfo )。

efcookie_BTN(self ) :

创建并单击self.BTN_get=qpushbutton(self ) #按钮以获取cookie

self.BTN_get.settext(& #039; cookie获取& #039; ) ) ) ) ) ) ) ) )。

self.BTN _ get.move ( 50,0 ) )。

self.BTN _ get.clicked.connect ( self.get _ cookies ) #绑定按钮单击事件

efbrows(self ) :

self.web=mywebengineview#将创建浏览器组件对象,并且主窗口成为父控件

SLF.web.resize ( 260,360 ) #设置浏览器的大小

self.web.move ( 20,30 ) )。

url=& #039; https://qzone.qq.com/& #039;

self.web.load(QURL ) )

self.web.show(#最后显示页面

# # # #网页加载完成。 来修改选定线条的属性

self.web.page ( ).load finished.connect ( self.run _ js ) )。

运行#js脚本并有回调

defrun_js(self ) :

js_string=& #039; & #039; & #039;

函数我的函数(

{

varimg _ URL=document.getelementbyid ( QM _ owner info _ icon ).src;

return img_url;

}

myFunction (;

& #039; & #039; & #039; & #039;

self.web.page ( ).runJavaScript(js_string,self.js_callback ) ) ) ) ) ) ) ) ) ) ) ) ) )

回调函数

defjs_callback(self,result ) :

#打印(结果)

self.rs_succ=result

print(self.RS_succ ) )

#qmessagebox.information(self,& #039; 提示& #039;str ) result ) )

efdownuserinfo(self ) :

url=self.rs_succ

头儿={

& #039; 用户代理& amp; #039; & #039; Mozilla/5.0(windowsnt10.0; Win64; x64 ) appleWebKit/537.36(khtml,like Gecko ) chrome/77.0.3865.120 safari/537.36 & amp; #039;

}

if url==& #039; None& #039;

print (是None ) )

else :

print (这是下载函数,url为--)、url ) )。

response=requests.get(URL,headers=headers ) )。

withopen(info.png ),( wb ) ) as fp :

fp.write(response.content )

fp.close ( ) )

打印( & amp; #039; 头像被保存了! & #039; )

self.web.deletelater(#放弃子控件

self.lab.set pixmap ( qpixmap ( & amp; #039;/info.png& #039; ) )

defget_cookies(self ) :

cookie=self.web.get_cookie(# (获取从#浏览器获取的cookies

打印( & amp; #039; 获取cookie:& amp; #039; cookie ) )。

self.pte.setplaintext(str ) cookie ) )

#self.web.deletelater(#删除浏览器子控件

#创建自己的浏览器控件并从QWebEngineView继承

classmywebengineview ( qwebengineview ) :

def __init__(self,*args,**kwargs ) :

super(mywebengineview,self )._ _ init _ ( args,**kwargs ) ) ) ) ) ) ) ) 65

#绑定添加了cookie的信号插槽

qebengineprofile.default profile ( ).cookieStore ( ).cookie added.connect ( self.oncookieadd ) )。

SLF.cookies={ } #存储cookie词典

处理defoncookieadd(self,cookie ) ) cookie添加的事件

name=cookie.name ( ).data (.decode ) )获取cookie的名称,然后处理编码

value=cookie.value ( ).data ).decode(& #039; utf-8& #039; ) #首先获取cookie值,然后处理编码

将slf.cookies[name]=value#cookie保存到词典

获取cookie

efget_cookie(self ) :

作为cookie_str=self.cookies #词典返回

return cookie_str

if __name__==& #039; __main__& #039;

APP=qapplication ( sys.argv ) )。

win_root=MainWindows (

win_root.show (

sys.exit(app.exec_ ) )

最后,编辑说:“我是python开发工程师

整理最新的python系统学习教程,

想要这些资料的人请关注私信小编“01”。 (免费分享哦) )希望对你有帮助

学习python的朋友和想要学习的人可以在私信小编“01”上领取资料!

为您推荐

“高能挑战”轿车也疯狂荣威i5智能驾乘空间登陆郑州。

河南日报客户端记者 朱庭延轿车还能玩这么嗨?荣威i5带你玩出新高度!日前,高能互联网中级车荣威i5智驾空间登陆郑州,爬斜坡、过倾斜路面、穿越雨棚……重重关卡尽显荣威i5颜值、动力、互联、空间、安全5大高能特点。此次郑州站活动,消费者通过产品

2023-01-05 16:16

有事的时候,零经验也能玩NAS。极限空间Z4S极致体验

遇事不决极空间,零经验也可玩转NAS,极空间Z4S旗舰版使用体验,功能全面,最容易上手和使用的NAS私有云【前言】说起NAS,一直属于很热但是只有少数人在用的那种。换句话说,就是一直是个热门的话题,很多人都想上,也有很多人都说好,但是看热闹

2023-01-05 16:16

成兴系重组终结:ST成兴老板李书福之子,华西村入股。

陷入流动性危机两年余后,ST澄星易主,李书福之子李星星成为新任实际控制人。10月14日,ST澄星(600078.SH)发布公告,公司控股股东已由澄星集团变更为无锡星盛州,实际控制人变更为李星星。除了李星星主掌的无锡星盛州外,具有华西村背景、

2023-01-05 16:14

2023年江苏高考报名总人数,2023年江苏高考报名信息表样板

江苏省2023年普通高校招生考试报名办法一、报名对象1.具有我省户籍且同时符合下列条件的人员,可以申请报名:(1)遵守中华人民共和国宪法和法律;(2)高级中等教育学校毕业或具有同等学力;(3)身体状况符合相关要求。2.非我省户籍的来苏务工就

2023-01-05 16:13

厦门这家私房菜,只有一个厨师,两张桌子。不提前预订是吃不到的。

#头条创作挑战赛#在厦门私房菜吃过不少,但这一家确出乎意料的让人惊叹。它不但藏的深,而且只有两个包厢,一位厨师。如果不是朋友相约,我一定会错过美味。位于厦门东渡古码头不远的梅岚竹茶空间,小巧的店面,走进去别有洞天。一楼以开放试茶空间+包厢为

2023-01-05 16:12

提供非法影视作品获利221万余元,“韩国电视”5人获刑。

新京报讯 据江苏高院官微消息,2020年5月初,被告人熊某认为案外人所有的“韩剧TV” 品牌效益较好,故经商量后将其转让给自己经营。随即,被告人熊某联系被告人李某、黄某,三人合谋在手机应用市场上线该APP,在线投放海量侵权韩剧、韩国综艺等影

2023-01-05 16:11

加载中...