2022时政热点事件,2022最新时事新闻热点汇总
2022-11-13
更新时间:2023-01-05 16:22:59作者:51data
PyQt5的资料太少,能力有限,需要一天。 做了时间客户端。 因为只有有bug和注册获取cookie的功能,所以现在做学习记录吧。 后期有时间。
安装第三方库后,请执行复制&; amp; 可以通过粘贴来执行。
导入系统
导入请求
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”上领取资料!