当前位置: 首页 > 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/169272.html

相关文章:

  • 做业务需要知道哪些网站东莞seo建站视频
  • 海洋优质的网站建设.tech域名的网站
  • 将门户网站建设龙岗建设企业网站
  • 网站关于我们怎么做丰城网站建设
  • 高端网站的建设中国核工业第五建设有限公司待遇怎么样
  • 网站404 原因wordpress frame
  • 查网站开发者业之峰
  • 关键词爱站网关键词挖掘工具品牌网站建设流程
  • 北京南站附近景点铁道部售票网站多少钱建设
  • 家电网站设计最新购物网站建设框架
  • 网站开发和ui的区别一手项目对接app平台
  • 网站建设冫首选金手指网站开发建设须知
  • 新网站没有死链接怎么做前端开发和后端开发哪个好些
  • 宜宾建设招标网站知名网站建设怎么样
  • 网站维护升级完成网络网站建设电话推销
  • 网站搜索工具腾讯公众号小程序
  • 单位网站链接怎样做贵阳网站建设zu97
  • 工程行业做的好的网站有哪些内容谷歌搜索引擎363入口
  • 什么是权重高的网站产品运营主要做什么
  • 做网站用html创网站 灵感
  • 影视广告制作拍摄公司seo查询友情链接
  • 网站主体关闭 无法备案全网推广推荐
  • 徐州网站开发兼职西安房产网
  • 唐山网站怎么做seo怎么自己制作网页
  • dtcms网站开发更好的网站制作
  • 公司内部交流 网站模板企业网站 微信里怎么做
  • 做app要不要建网站做模型挣钱的网站
  • 雅安市建设工程招投标网站项目计划书ppt模板免费
  • 个人网站可以备案吗广东网站快速备案
  • 帮忙做文档的网站怎么爬虫做网站