在网上购物竟然也能和Python扯上关系!电脑上用自己写的程序购物?别说,QT实现还真挺简单(Python如何利用QT制作电脑的手机版拼多多)

在网上购物竟然也能和Python扯上关系!电脑上用自己写的程序购物?别说,QT实现还真挺简单(Python如何利用QT制作电脑的手机版拼多多),第1张

概述拼多多现在也是越来越火了,但是不知道大家有没有发现,拼多多似乎一直不能通过网页进行访问。淘宝,京东都有微信客户端,那么怎么拼多多就没有呢?带着这个疑问,我特地去手机爬取了一下拼多多的客户端。(其实也不能说是爬取吧,就是随便玩玩!)文章目录拼多多的域名...程序构思基础窗

拼多多现在也是越来越火了,但是不知道大家有没有发现,拼多多似乎一直不能通过网页进行访问。淘宝,京东都有微信客户端,那么怎么拼多多就没有呢?带着这个疑问,我特地去手机爬取了一下拼多多的客户端。(其实也不能说是爬取吧,就是随便玩玩!)

文章目录拼多多的域名...程序构思基础窗口实现浏览器增强用户体验实例代码转载声明

拼多多的域名…

事情是这样的,当时呢,我看中了一款洗手液…


于是我点击了一下复制链接,就像这样

https://mobile.yangkeduo.com/goods.HTML?goods_ID=251325707271&page_from=36&_oc_source=66&pxq_secret_key=DRSSQMYYXEKMEMA2Nimg3VFPBE4TFV3V4QT4IDZ7R7QML57MNXMQ&share_uin=OKCYL2UFPVNZK67UCUDUFQNRCQ_GEXDA&refer_share_ID=694d23239e514c43b93dbfbfd2c675ef&refer_share_uID=8601252201574&refer_share_uin=OKCYL2UFPVNZK67UCUDUFQNRCQ_GEXDA&refer_share_channel=qq&refer_share_form=card&_wvx=10

没错,就是一个这样的链接,于是我真的感觉很奇怪,不是网站版的拼多多域名是Pingduoduo.com吗?


结果,当我将这个链接复制到浏览器中运行,发现的确是真的!


不会吧,难道我使用的拼多多一直都是盗版的?


于是我来了一波域名查询,发现竟是


阿里云注册的,应该不会是什么小网站,但是所有者我们还是不知道啊,所以我去到了爱企查进行进一步的查询


在上海寻梦科技下方,终于发现了这一行域名


好吧,在浏览的时候,我还发现了另一个拼多多域名,http://yiqixIEgushi.com/,于是我就想着,要不我做一个程序,这样在网上就可以抢拼多多商品了

程序构思基础窗口

于是我就开始了,这显然是一个网页页面,我们有很多种选择,在这里,我们选择了PyQt库进行 *** 作,于是便开始了编代码…


首先呢,我们先来创建一个购物中心的类,然后我们将创建一个无边框的窗口,并显示在主页面上。

# 程序名称 : ShopPingCentre# 制作时间 : 2021年6月12日# 运行环境 : windows 10from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *from PyQt5.QtWebEngineWidgets import *# 创建主程序class ShopPingCentre(QMainWindow):	def __init__(self):		super().__init__()		self.grabKeyboard() 		self.setwindowTitle("拼多多商城")		self.setwindowFlags(Qt.windowstaysOntopHint|Qt.WindowMinimizebuttonHint|Qt.FramelessWindowHint)				self.show()if __name__ == "__main__":	import sys	# 准备打开网站	app = QApplication(sys.argv)	win = ShopPingCentre()	app.exec_()

接下来我们将设置这个窗口的大小,并固定大小,所以我们来搜索一下手机的长宽比例一般是多少,并参照一下模拟器的长宽值


所以说宽度一般是600,高度一般是1100左右,并设置出现位置在屏幕中央,也就是电脑屏幕的宽度减去我们窗口宽度,然后除二的值,在我这里呢,是(1980-600)/2 也就是690


经过我的测试,发现屏幕在600和1050这个比值中是最合适的,然后锁定我们的长和宽,接下来,我们去官网爬取图片,设置图标


拼接地址,得到最终图标,并保存https://www.pinduoduo.com/homeFavicon.ico


我们可以看到,我们成功设置了图标(注意,最终图片的命名是以从网站下载下来命名后的文件)

# 程序名称 : ShopPingCentre# 制作时间 : 2021年6月12日# 运行环境 : windows 10from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *from PyQt5.QtWebEngineWidgets import *# 创建主程序class ShopPingCentre(QMainWindow):	def __init__(self):		super().__init__()		self.grabKeyboard() 		self.setwindowTitle("拼多多商城")		self.setGeometry(690,10,600,1050)		self.setFixedSize(600,1050)		self.setwindowIcon(QIcon('images/pdd.ico'))		self.setwindowFlags(Qt.windowstaysOntopHint|Qt.WindowMinimizebuttonHint|Qt.FramelessWindowHint)			self.show()if __name__ == "__main__":	import sys	# 准备打开网站	app = QApplication(sys.argv)	win = ShopPingCentre()	app.exec_()
实现浏览器

首先我们先重写一下方法,实现网页跳转

然后将这个浏览器添加进设置中


运行程序,我们可以发现,页面已经可以正常显示了


可是我们会发现,我们没有按钮,我们只能右键点击 *** 作后退或者前进,这实在是太麻烦了


那么我们设置一个状态栏进行 *** 作程序,这里我们就需要自行找图标,我这里使用的呢,是阿里巴巴图标库提供的图标



我们在代码中添加工具栏,然后设置图标大小


添加图片,并将其添加到状态栏上面


最后绑定事件,我们就成功制作了这个程序了


再次使用我们会发现整个用户体验加强了

# 程序名称 : ShopPingCentre# 制作时间 : 2021年6月12日# 运行环境 : windows 10from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *from PyQt5.QtWebEngineWidgets import *# 重写方法class WebEngineVIEw(QWebEngineVIEw):	def createWindow(self,QWebEnginePage_WebWindowType):		page = WebEngineVIEw(self)		page.urlChanged.connect(self.on_url_changed)	def on_url_changed(self,url):		self.setUrl(url)# 创建主程序class ShopPingCentre(QMainWindow):	def __init__(self):		super().__init__()		self.setwindowTitle("拼多多商城")		self.setGeometry(690,10,600,1050)		self.setFixedSize(600,1050)		self.setwindowIcon(QIcon('images/pdd.ico'))		self.setwindowFlags(Qt.windowstaysOntopHint|Qt.WindowMinimizebuttonHint|Qt.FramelessWindowHint)			# 添加导航栏到窗口中		self.navigation_bar = self.addToolbar('工具栏')		self.navigation_bar.setIconSize(QSize(18,18))		# 添加前进、后退、停止加载和刷新的按钮		self.back_button = QAction(QIcon('images/back.png'), 'Back(点击可往前)', self)		self.next_button = QAction(QIcon('images/next.png'), 'Forward(下一页)', self)		self.reload_button = QAction(QIcon('images/reload.png'), 'Reload(刷新)', self)		# 将按钮添加到导航栏上		self.navigation_bar.addAction(self.back_button)		self.navigation_bar.addAction(self.next_button)		self.navigation_bar.addAction(self.reload_button)		# 设置浏览器		webbrowser = WebEngineVIEw()		webbrowser.load(QUrl("https://mobile.yangkeduo.com"))		self.setCentralWidget(webbrowser)		# 设置链接		self.reload_button.triggered.connect(webbrowser.reload)		self.back_button.triggered.connect(webbrowser.back)		self.next_button.triggered.connect(webbrowser.forward)		self.show()if __name__ == "__main__":	import sys	# 准备打开网站	app = QApplication(sys.argv)	win = ShopPingCentre()	app.exec_()
增强用户体验

这个窗口总是在最前方,对于我们的程序来说并不是一件好事情,所以我们重新编辑一下程序,我们将这个设置窗口属性的代码注释掉,并且重新更改一下窗口大小


我们再设置一下窗口的快捷键


这样子,就感觉比之前更完美了一下,于是就收工吧

实例代码
# 程序名称 : ShopPingCentre# 制作时间 : 2021年6月12日# 运行环境 : windows 10from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *from PyQt5.QtWebEngineWidgets import *# 重写方法class WebEngineVIEw(QWebEngineVIEw):	def createWindow(self,QWebEnginePage_WebWindowType):		page = WebEngineVIEw(self)		page.urlChanged.connect(self.on_url_changed)	def on_url_changed(self,url):		self.setUrl(url)# 创建主程序class ShopPingCentre(QMainWindow):	def __init__(self):		super().__init__()		self.setwindowTitle("拼多多商城")		self.setGeometry(690,35,600,1040)		self.setFixedSize(600,1040)		self.setwindowIcon(QIcon('images/pdd.ico'))		#self.setwindowFlags(Qt.FramelessWindowHint) 		# 添加导航栏到窗口中		self.navigation_bar = self.addToolbar('菜单栏')		self.navigation_bar.setMovable(True)		self.navigation_bar.setIconSize(QSize(16,16))		# 添加前进、后退、停止加载和刷新的按钮		self.back_button = QAction(QIcon('images/back.png'), 'Back(点击可往前)', self)		self.next_button = QAction(QIcon('images/next.png'), 'Forward(下一页)', self)		self.reload_button = QAction(QIcon('images/reload.png'), 'Reload(刷新)', self)		# 设置快捷键		self.back_button.setShortcut('Ctrl+Shift+F')		self.next_button.setShortcut('Ctrl+Shift+Z')		self.reload_button.setShortcut('Ctrl+R')		# 将按钮添加到导航栏上		self.navigation_bar.addAction(self.back_button)		self.navigation_bar.addAction(self.next_button)		self.navigation_bar.addAction(self.reload_button)		# 设置浏览器		webbrowser = WebEngineVIEw()		self.setCentralWidget(webbrowser)		webbrowser.load(QUrl("https://mobile.yangkeduo.com"))		# 设置链接		self.reload_button.triggered.connect(webbrowser.reload)		self.back_button.triggered.connect(webbrowser.back)		self.next_button.triggered.connect(webbrowser.forward)		self.show()if __name__ == "__main__":	import sys	# 准备打开网站	app = QApplication(sys.argv)	win = ShopPingCentre()	app.exec_()

其实在这里我还是要说明为什么要在最后加上快捷键这个东西,是因为我发现,浏览器直接挡住了工具栏,让它不能继续访问,但是解决办法还是没有找到,不知道哪位大神可以帮忙解惑,感谢!

转载声明

本文首发至CSDN,如需转载,请附上原文链接:在网上购物竟然也能和Python扯上关系!电脑上用自己写的程序购物?别说,QT实现还真挺简单(Python如何利用QT制作电脑的手机版拼多多))

总结

以上是内存溢出为你收集整理的在网上购物竟然也能和Python扯上关系!电脑上用自己写的程序购物?别说,QT实现还真挺简单(Python如何利用QT制作电脑的手机版拼多多)全部内容,希望文章能够帮你解决在网上购物竟然也能和Python扯上关系!电脑上用自己写的程序购物?别说,QT实现还真挺简单(Python如何利用QT制作电脑的手机版拼多多)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1184932.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存