社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

【迟到的小工具】Python一键生成国庆出行攻略

Python极客专栏 • 3 年前 • 391 次点击  

点击关注公众号,Python干货及时送达


PyCharm操作手册,点击获取


国庆已经接近尾声,大家国庆是怎么度过的呢?可以在评论区与大家分享一下


小编敲了几行代码做了个简单的应用程序,来探寻一下各地的热门景点有哪些,有哪些受欢迎的酒店住宿、好吃的美食、以及各地的美味特产有哪些

介绍工具

在目前的软件设计过程中,图形用户界面(GUI)的设计相当的重要,美观、容易使用的用户界面能在很大程度上提高软件的使用量,本次小编使用的是PyQt5模块来制作图形界面,顾名思义也就是Python编程语言和Qt库的结合,当中提供了620多个类以及将近6000个函数来给我们使用

其中我们所需要用到的几个函数分别是QLineEdit()模块实现输入框QPushButton()模块实现按钮setGeometry()方法实现控件按钮出现的位置、setText()方法来实现文字内容的展现,下面来看一下具体的代码吧

    def __init__(self):        super().__init__()        self.lb = QLabel(self)        self.lb.setGeometry(90, 55, 100, 60)        self.lb.setText('请输入城市: ')
self.lb = QLabel(self) self.lb.setGeometry(110, 90, 500, 60) self.lb.setText('目前仅支持单次查询,等待时间10秒左右')
self.textbox = QLineEdit(self) self.textbox.setGeometry(180, 70, 130, 30) self.findButton = QPushButton('查询', self) self.findButton.setGeometry(100, 150, 100, 40) self.quitButton = QPushButton('退出', self) self.quitButton.clicked.connect(self.close) self.findButton.clicked.connect(self.get_travel_info) self.quitButton.setGeometry(220, 150, 100, 40) self.setGeometry(500, 500, 450, 250) self.setWindowTitle('Icon') self.setWindowTitle('国庆旅游攻略查询') self.setWindowIcon(QIcon('flag.png')) self.show()

对应的结果就是这个样子,我们也可以看到,代码当中较多的使用了setGeometry()这个方法,例如setGeometry(0, 0, 40, 55)代表的是在屏幕上的(0, 0)位置开始显示一个40*55的界面(宽40,高55),出来的结果是

后端代码


至于后端的代码则是一个简单的数据采集的脚本,小编抓取的是一些旅游出行网站上面的数据,由于抓取的页面不止一个,所以会有一定的等待时间
city_sights = self.get_city_views(city_name)city_food = self.get_city_food(city_name)city_shopping = self.get_city_shopping(city_name)city_hotels = self.get_city_hotels(city_name)sight_list.append("热门旅游景点有: " + city_sights[0] + '\n' + city_sights[1] + '\n' +                  city_sights[2] + '\n' + city_sights[3] + '\n' + city_sights[4] + '\n')food_list.append("好吃的有: " + city_food[0] + '\n' + city_food[1] + '\n' +                 city_food[2] + '\n' + city_food[3] + '\n' + city_food[4] + '\n')hotel_list.append("可以住的酒店有: " + city_hotels[0] + '\n' + city_hotels[1] + '\n'                  + city_hotels[2] + '\n' + city_hotels[3] + '\n' + city_hotels[4] + '\n')shopping_list.append("可以买的纪念品有: " + city_shopping[0] + '\n' + city_shopping[1] + '\n'                     + city_shopping[2] + '\n' + city_shopping[3] + '\n')
最后出来的效果如图

最后我们用pyinstaller将这个脚本整合成一个可执行文件,具体的操作步骤
pyinstaller main.py --onefile --windowed
这样子我们只要双击该可执行文件,便可生成一个简单的旅游攻略了,如下图

写在最后

本篇文章结合了数据抓取、Python制作GUI简单GUI界面以及Pyinstaller将脚本文件打包成exe文件来实现一键点击生成旅游攻略,最后出来的攻略当然也相当的简单与粗糙,当然有了本篇文章所提供的代码之后,读者朋友大可以在现有的基础之上再进行优化与升级,国庆快乐


获取代码,后台回复“国庆出行”,即可获取


如有文章对你有帮助,

在看 ”和转发是对我最大的支持!



关注Python极客专栏


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/120930
 
391 次点击