예제 #1
0
def query_tickes():

    r = requests.get(url, verify=False)  # 请求网址1的内容
    json_data = r.json()
    json_result = json_data['data']['result']


    trains = PrettyTable()
    trains.field_names = ["车次", "车站", "时间", "历时", "商务座", "一等座",
                          "二等座", "高级软卧", "硬卧 ", "软座 ", "硬座", "无座"]

    for row in json_result:  # 列表循环
        cells = row.split("|");
        trains.add_row([cells[3],
                        '\n'.join([colored('green', station_v[cells[6]]),
                                   colored('red', station_v[cells[7]])]),
                        '\n'.join([colored('green', cells[8]),  # 对于双行示的信息,设置颜色
                                   colored('red', cells[9])]),
                        cells[10],  # 历时
                        cells[31],  # 商务座 / 特等座
                        cells[30],  # 一等座
                        cells[29],  # 二等座
                        cells[25],  # 高级 / 软卧
                        cells[27],  # 硬卧 / 二等卧
                        cells[24],  # 软座
                        cells[28],  # 硬座
                        cells[26]])  # 无座

    print(trains)
예제 #2
0
     H = price['A2']
 #YZ
 I = ('A1' in price.keys())
 if I == False:
     I = ''
 else:
     I = price['A1']
 #WZ
 J = ('WZ' in price.keys())
 if J == False:
     J = ''
 else:
     J = price['WZ']
 trains.add_row([
     row['station_train_code'], '\n'.join([
         colored('green', row['from_station_name']),
         colored('red', row['to_station_name'])
     ]), '\n'.join([
         colored('green', row['start_time']),
         colored('red', row['arrive_time'])
     ]), row['lishi'],
     colored('green', row['swz_num']) + '\n' + A,
     colored('green', row['tz_num']) + '\n' + B,
     colored('green', row['zy_num']) + '\n' + C,
     colored('green', row['ze_num']) + '\n' + D,
     colored('green', row['gr_num']) + '\n' + E,
     colored('green', row['rw_num']) + '\n' + F,
     colored('green', row['yw_num']) + '\n' + G,
     colored('green', row['rz_num']) + '\n' + H,
     colored('green', row['yz_num']) + '\n' + I,
     colored('green', row['wz_num']) + '\n' + J
예제 #3
0
import requests
from pprint import pprint
from get_urltrain import url
from prettytable import PrettyTable
from color_set import colored

r = requests.get(url, verify=False)
rows = r.json()["data"]["result"]
stamap = r.json()["data"]["map"]
trains = PrettyTable()
trains.field_names = [
    "车次", "车站", "时间", "历时", "商务座", "特等座", "一等座", "二等座", "高级软卧", "软卧", "硬卧 ",
    "软座 ", "硬座", "无座"
]
num = len(rows)
# 关于票价的信息隐藏的比较深,row = row.split('|'),解析出来。如下,具体对应座位关系没有具体研究。
# '20180419', '3', 'N2', '01', '06', '0', '0', '', '', '', '', '', '', '', '', '', '',
# '有', '有', '11', '', 'O0M090', 'OM9', '1'
for row in rows:
    row = row.split('|')
    trains.add_row([
        row[3], '\n'.join(
            [colored('green', stamap[row[6]]),
             colored('red', stamap[row[7]])]),
        '\n'.join([colored('green', row[8]),
                   colored('red',
                           row[9])]), row[10], 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
    ])
print('查询结束,共有 %d 趟列车。' % num)
print(trains)
예제 #4
0
파일: main.py 프로젝트: morganlions/train
    'user-agent':
    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36'
}

r = requests.get(url, verify=False, headers=headers)  # 请求网址1的内容
rows = r.json()['data']['result']  # 将内容解析为列表
trains = PrettyTable()
trains.field_names = [
    "车次", "车站", "时间", "历时", "商务座\特等座", "一等座", "二等座", "高级软卧", "软卧", "动卧", "硬卧 ",
    "软座 ", "硬座", "无座", "其他"
]
# 设置table的header
num = len(rows)  # 打印列表的个数
# station1 = dict([v, k] for k, v in stations.items())
station_list = dict(zip(stations.values(), stations.keys()))
for row in rows:  # 列表循环
    row_list = row.split('|')
    chair_list = chair_lists(row_list)
    trains.add_row([
        row_list[3],
        '\n'.join([
            colored('green', station_list[row_list[6]]),
            colored('red', station_list[row_list[7]])
        ]),
        '\n'.join([colored('green', row_list[8]),
                   colored('red', row_list[9])]),
        row_list[10],
    ] + chair_list)

print('查询结束,共有 %d 趟列车。' % num)  # 列表个数也就是列车个数
print(trains)
예제 #5
0
import urllib
from urllib import request
import requests
from pprint import pprint
from get_urltrain import url
from prettytable import PrettyTable
from color_set import colored

r = requests.get(url, verify=False)
rows = r.json()['data']['datas']
trains = PrettyTable()
trains.field_names = [
    "车次", "车站", "时间", "历时", "商务座", "特等座", "一等座", "二等座", "高级软卧", "软卧", "硬卧 ",
    "软座 ", "硬座", "无座"
]
num = len(rows)
for row in rows:
    trains.add_row([
        row['station_train_code'], '\n'.join([
            colored('green', row['from_station_name']),
            colored('red', row['to_station_name'])
        ]), '\n'.join([
            colored('green', row['start_time']),
            colored('red', row['arrive_time'])
        ]), row['lishi'], row['swz_num'], row['tz_num'], row['zy_num'],
        row['ze_num'], row['gr_num'], row['rw_num'], row['yw_num'],
        row['rz_num'], row['yz_num'], row['wz_num']
    ])
print('查询结束,共有 %d 趟列车。' % num)
print(trains)