学了爬虫也有将近四个月了,写过的爬虫也有蛮多的。最近刚要开学,学生来校大多坐火车来,就寻思做一个余票查询的小工具,顺带温习一下所学的爬虫知识还有对python编程的一些用法,将从12306网上爬取到达实时数据做成图形界面,以下便是我的小工具的version1的具体做法,工具中稍有些bug未能改正,但是我想先把我自己所获得的东西先放到我的博客上面来,有想法的小伙伴可以联系我,欢迎大路大神指教!
import requests
from tkinter import Tk,Label,Entry,Button,Text,END
首先引入咱们工具所需要用到的库以及类,其中requests库是用来想网络发起请求的一个模块,该模块在python3的网络爬虫中比较常用,然后就是GUI编程中所需的tkinter模块,从其中引入给各类用来生成图形界面。
接下来就是爬取我们所需要的信息和数据了。我们过通过对12306网站的分析,从开发者工具中找到所需要请求的内容和提交的参数如下图所示:
https://img-blog.csdn.net/20180914210504299?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM0OTk0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70
https://img-blog.csdn.net/20180914210520486?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM0OTk0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70
通过对网页的分析可以得到我们需要用get请求的方法并增加参数params来获取网页的响应,在提交参数的时候我们需要搞清楚每个变量代表的含义,所以之后我们将会再一次爬取,另外一个网页得到每个城市的英文代码。获取到的响应内容为json格式的字符串,我们通过对字典取值的方法和便利找到我们所需要的信息。具体请看爬取代码:
1.爬取我们所需数据的主要逻辑代码,将内容追加到列表中,然后返回;
def ticket_check(self,date,from_station,to_station):
url = 'https://kyfw.12306.cn/otn/leftTicket/queryA?'
data
基于python3爬虫的对12306余票查询的图形界面
最新推荐文章于 2024-06-30 13:36:44 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)