下载站名文件

2024-06-16 06:04
文章标签 下载站

本文主要是介绍下载站名文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

得到了请求地址与请求参数后,可以发现请求参数中的出发地与目的地均为车站名的英文缩写。而这个英文缩写的字母是通过输入中文车站名转换而来的,所以需要在网页中仔细查找是否有将车站名自动转换为英文缩写的请求信息,具体步骤如下:

(1)关闭并重新打开网络监视器,然后按下快捷键<F5>进行余票查询网页的刷新,此时在网络监视器中选择类型为js的网络请求。在文件类型中仔细分析文件内容是否有,与车站名相关的信息如图30所示。

图30  找到与车站名相关信息

说明:在分析信息位置时,查询按钮仅仅实现了发送查票的网络请求,而并没有发现将文字转换为车站名缩写的相关处理,此时可以判断在进入余票查询页面时就已经得到了将车站名转换为英文缩写的相关信息,所以可以刷新页面查看网络监视器中的网络请求。

(2)选中与车站名相关的网络请求,在请求细节中找到该请求的完整地址。然后在网页中打开该地址测试返回数据,如图31所示。

图31  返回车站名英文缩写信息

说明:看到返回的车站名信息,此时可以确认根据该信息可以进行车站名汉字与对应的英文缩写进行转换。例如,可以在该条信息中找到北京对应的是BJP。由于该条信息并没有自动转换的功能,所以需要将该信息以文件的方式保存在项目中。当需要转换时在文件中查找对应的英文缩写即可。

(3)打开PyCharm开发工具,在check tickets目录中右键菜单依次选择New → Python File,创建一个名称为get_stations.py文件,然后在菜单栏中依次选择File → Default Settings,再参考14.4.2小节中的步骤(4)、步骤(5)安装requests模块即可。

(4)在get_stations.py文件中分别导入requests模块、re模块及os模块,然后创建getStation()方法,该方法用于发送获取地址信息的网络请求,并将返回的数据转换为需要的类型。关键代码如下:

def getStation():

    # 发送请求获取所有车站名称,通过输入的站名转换为查询地址的参数

    url = 'https://kyfw.12306.cn/otn/resources/js/framework/

    station_name.js?station_version=1.9050'

    response = requests.get(url, verify=True)          # 请求并进行验证

    # 获取需要的车站名称

    stations = re.findall('([\u4e00-\u9fa5]+)\|([A-Z]+)', response.text)

    stations = dict((stations))                  # 转换为字典类型

    stations = str(stations)                        # 转换为字符串类型否则无法写入文件

    write(stations)                                  # 调用写入方法

说明:requests模块为第三方模块,该模块主要用于处理网络请求;re模块为Python自带的模块,主要通过正则表达式匹配并处理相应的字符串;os模块为Python自带的模块,主要用于判断某个路径下的某个文件。

注意:随着12306官方网站的更新,请求地址会发生改变,要以当时获取的地址为准。

(5)分别创建write()方法、read()方法及isStations()方法,分别用于写入文件、读取文件以及判断车站文件是否存在,代码如下:

def write(stations):

    file = open('stations.text', 'w', encoding='utf_8_sig')    # 以写模式打开文件

    file.write(stations)                      # 写入文件

    file.close()

def read():

    file = open('stations.text', 'r', encoding='utf_8_sig')    # 以写模式打开文件

    data = file.readline()                      # 读取文件

    file.close()

    return data

defisStations():

    isStations = os.path.exists('stations.text')          # 判断车站文件是否存在

    return isStations

(6)打开window.py文件,首先导入get_stations文件下的所有方法,然后在模拟python的程序入口处修改代码。接下来判断是否存在所有车站信息的文件,如果没有该文件就下载车站信息的文件然后显示窗体,如果存在将直接显示窗体即可。修改后代码如下:

from get_stations import *          # 导入get_stations文件下的所有方法

if __name__ == "__main__":

    ifisStations() == False:      # 判断是否存在所有车站的文件,没有就下载,有就直接显示窗体

        getStation()          # 下载所有车站文件

        show_MainWindow()          # 调用显示窗体的方法

    else:

        show_MainWindow()          # 调用显示窗体的方法

(7)在window.py文件下,单击右键菜单中选择“Run 'window'”菜单运行主窗体,主窗体界面显示后在check tickets目录下将自动下载stations.text文件,如图32所示,通过该文件可以实现车站名称与对应的英文缩写进行转换。

图32  下载stations.text文件

这篇关于下载站名文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1065642

相关文章

Emlog模板-简洁大气的资源下载站PHP源码

模板介绍 Emlog模板-简洁大气的资源下载站PHP源码 模板留白简洁大气,首页ajax加载下一页,这是纯模板,安装需要先安装好emlog系统,再把模板文件上传到Emlog模板目录,后台选择模板就可以了,非常简单。 模板下载 Emlog模板-简洁大气的资源下载站PHP源码

Ripro主题化C位系列演示站可调用内页图于视频资源、素材下载站O-子主题ripro-child

详情: RiPro主题版本:网站演示站点可用图片 利于视频资源、素材下载站SEO-子主题 PHP版本要求:7.2及以上 当前版本:V8.0 主题设置:全功能后台设置,无需改代码 主题特色:无需替换RIPRO原主题包任何内容即可实现后台全功能开关修改!!! 下载地址: Ripro主题化C位系列演示站可调用内页图于视频资源、素材下载站O-子主题ripro-child-彩虹兔_YUENOS

VMware各版本镜像下载站

CDS Repository - /var/www/public/stage/session-120/cds/vmw-desktop/ws 参考: VMware各版本下载的镜像站(含windows和linux)_vm win7映像文件下载-CSDN博客

帝国cms自适应响应式知识付费资源站下载站模板带会员支付整站源码下载

帝国cms自适应响应式知识付费资源站下载站模板带会员支付整站源码介绍 本模板使用帝国cms7.5 utf8版本,资源站/源码站/工作室付费阅读下载自适应响应式帝国cms模板,适合资源下载、出售虚拟产品。 基于帝国cms7.5 UTF-8开发,移动设备自适应 文案可单独设置会员组价格,也可设置免费。 新闻自动配图标题图片 内置了自适应的会员中心,以及自适应的ajax无刷新登录注册弹窗页面。 余额明

在iis下配置手机下载站mime属性

2010-12-09 iis下配置手机下载站mime属性  手机下载类站点配置是很麻烦的 因为他需要添加大量的下载格式(例如下载飞信手机客户端安装包)这样手机玩家才能通过你的WAP站点下载手机图片 铃声 程序等各类资源让IIS服务器 可以支持sis、SISX、3GP、ADP、AMR、JAD、JAR、MMF、MFM、PMD、UMD等文件下载 Windows2003 服务器配置IIS的MIME类型

帝国cms仿《鳄鱼下载站》网站源码

仿《鳄鱼下载站》网站源码手机安卓软件网站模版 PHP网站源码 帝国cms内核 采用帝国cms7.5 环境PHP+mysql 恢复数据库后如何修改密码: 双击表,进入对应的详细数据表,然后找到:www_96kaifa_com_enewsuser这个表,双击打开修改:password修改为:28faed7bf0c97624ad3b8737b6947e41 salt修改为:fy1rWNIJ sal

【ripro美化】设计子主题sheji-child素材资源下载站模板(集成后台+无授权+独立运行)

RiPro主题版本:8.0│PHP版本要求:必须7.2│子主题支持:建议正版主题│子主题当前版本:V1.1│主题设置:全功能后台设置,无需改代码 更新记录 2.0版本更新内容: 1:修复标签不显示bug 1.1版本更新内容: 1:子主题独立运行,彻底摆脱覆盖原主题文件 2:细节优化 1.0版本更新内容: 1:首页搜索+优势导航(对接后台设置) 2:列表展示美化 3:升级VIP页面

RiPro子主题eeesucai-child集成后台美化包,适用于设计素材站+资源下载站等

本资源可免费获取,请至尾部读阅! RiPro子主题eeesucai-child集成后台美化包,适用于设计素材站+资源下载站等。 注意:使用该子主题前需要安装wordpress程序和ripro模板 1、把子主题压缩文件上传到/wp-content/themes/ 解压 2、把替换包上传到/wp-content/themes/ripro/ 解压 3、到后台启动子主题 4、最后发现ripro8以

【暗蚊】黑客通过国内下载站传播Mac远控木马攻击活动分析

1.概述 近期,安天CERT发现一组利用非官方软件下载站进行投毒和攻击下游用户案例,并深入分析了攻击者在网管运维工具上捆绑植入macOS平台远控木马,利用国内非官方下载站发布,以此取得政企机构内部关键主机桥头堡,进行横向渗透的攻击活动。 2.详细情况 2.1 监测情况 安天CERT监测到“MACYY”下载站上SecureCRT、FinalShell、Navicat等五款运维工具含有恶意文件。

linux应用软件下载站收集

一、这是一个别人问题帖,里面有很多下载站点。 谁知道可以自由下载Linux软件的论坛或者平台?类似52破解论坛。国内国外都可以,我在搜索引擎找不到? - 知乎