首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python爬取12306列车信息

    #!/usr/bin/env python #coding=utf8 #12306查票爬虫 import requests,json,sys #获取地址代码 #https://kyfw.12306.cn/otn/resources/js/framework/favorite_name.js url = 'https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.9025' url_tmp = str(requests.get(url, verify=False).content, encoding='utf-8').replace("var station_names ='@", '').replace( "';", '') url_tmp = list(url_tmp.split('@')) def dizhi_code(dizhi): ''' 通过站点名字获取code ''' for i in url_tmp: if dizhi == i.split('|')[1]: return i.split('|')[2] def code_dizhi(code): ''' 通过code获取站点名字 ''' # print (url_tmp) for i in url_tmp: if code == i.split('|')[2]: return i.split('|')[1] def get_lieche(start_che,end_che,date): start_che=dizhi_code(start_che) end_che=dizhi_code(end_che) # print (start_che,end_che) try: url='https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=%s&leftTicketDTO.from_station=%s&leftTicketDTO.to_station=%s&purpose_codes=ADULT' %(date,start_che,end_che) # print (url) data = json.loads(requests.get(url, verify=False).content) except Exception as e: print("获取数据失败,可能网络错误或者请求太频繁",e) sys.exit(2) chuli_data=[] for i in data['data']['result']: list_che=list(i.strip('|').split('|')) if list_che[0]=="23:00-06:00系统维护时间" or list_che[0]=="预订" : #时间 列车班号 始发站 终点站 始发时间 终点时间 一共时间 商务座 一等座 二等座 软卧 硬卧 chuli_data.append((che_time,list_che[2],code_dizhi(list_che[3]),code_dizhi(list_che[4]),list_che[7],list_che[8],list_che[9],list_che[-4],list_che[-5],list_che[-6],list_che[-13],list_che[-8],list_che[-7])) else: chuli_data.append((che_time, list_che[3], code_dizhi(list_che[4]), code_dizhi(list_che[5]), list_che[8], list_che[9], list_che[10], list_che[-4], list_che[-5], list_che[-6], list_che[-13],list_che[-8],

    01

    Qt编写地图综合应用5-自适应拉伸

    用过echart的人都会遇到一个问题,就算是代码中写了window.onresize = echart.resize,也只是横向自适应拉伸填充页面,垂直方向不会变化,除非指定高度才可以,这就比较郁闷了,为何echart本身不会自适应呢?按道理不应该啊,莫非实现起来很困难?好吧先不管这个了,这个问题搜索出来一大堆解决方案,在Qt的浏览器控件中也有这个问题,为了解决这个问题想了两个策略,一种是程序本身检测尺寸变化,然后重新设置高度并载入网页,一种是js函数设置对应的宽高,什么时候执行呢,就是在程序界面尺寸变化的时候,两种办法对比下来,最终选用的后者,因为效果比较好,还是异步执行的,无需重新加载网页,那个每次高度变化了就重新加载网页的办法在早期的作品中用过,看起来好弱弱的。

    07
    领券