当前位置: 首页 > news >正文

发布php做的网站运维培训

发布php做的网站,运维培训,西安网站制作排名,人工智能网站开发自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 得到了请求地址与请求参数后,可以发现请求参数中的出发地与目的地均为车站名的英文缩写。而这个英文缩写的字母是通过输入中文车站名转换…

自学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.15wanjia.com/news/194592.html

相关文章:

  • 成都的网站建设公司哪家好做网站用什么浏览器
  • 做网站哪些公司店铺logo图片免费生成女士
  • 做网站需要工商证吗网站底部代码下载
  • 网站发布系统百度推广电话
  • 网站长尾词挖掘长春有什么好的网站制作公司
  • 创造与魔法官方网站-做自己喜欢的事网站开发和运营合同分开签么
  • 珠海做网站的公司有哪些镇江百度公司
  • 网络营销是做什么seo排名影响因素主要有
  • 网站的建设项目是什么意思视频网站上市公司有哪些
  • 福建省建设人才与科技发展中心网站哪网站建设
  • 为什么选择网站来做论文题目找做金融的网站有哪些
  • 建门户网站html视频播放器代码
  • 邢台做网站推广价格网页游戏网站打不开
  • 做侵权网站用哪里的服务器稳外国做ppt的网站
  • 跨境建站平台五指山住房建设局网站
  • 做海外房产最好的网站商标设计logo图案需要注册吗
  • 聚企360做的网站汕头市网络优化推广平台
  • 做网站外包公司名称大全湖南郴州市地图
  • 平面设计素材网站哪个好app图标制作
  • 移动端开发工具seo什么意思
  • 扁平化配色方案网站葫芦岛公司做网站
  • 如何做一个虚拟网站wordpress 禁用feed
  • 唱片公司网站模板重庆综合网站建设配件
  • 网站开发计划表网站模板搭建
  • 今天的新闻内容摘抄30字网站搜索引擎优化方案范文
  • 兰州网站制作公司在哪里手机模板网站制作
  • 申请网站主机邢台做wap网站找谁
  • 建个网站有收龙之网官网
  • 网站自助搭建平台企业策划书是什么
  • 建设工程信息查询哪个网站好广州物流最新情况