# coding=utf-8
import requests
import argparse
import datetime
import re
import os
import json
import ssl
import urllib.parse
from collections import deque, OrderedDict
# 获取每个站点的名字和对应的代码,并保存到本地
filename = 'station_name.txt'
stationlist_url = 'https://kyfw.12306.cn/otn/resources/js/framework/station_name.js'
response = requests.get(stationlist_url, verify=False)
if response.status_code == 200:
print("station_name_code():获取站点信息成功!")
with open(filename, 'w') as f:
for each in response.text.split('=')[1].split('@'):
if each != "'":
f.write(each)
f.write('\n')
else:
print('station_name_code() error! status_code;{}, url:{}'.format(response.status_code,response.url))
# 功能:从站点文件中提取站点与其对应的代码,并保存到文件中
if not os.path.exists(filename):
print('save_station_code():', filename, '不存在,正在下载!')
file = 'name_code.json'
name_code_dict = {}
with open(filename, 'r') as f:
for line in f:
# 对读取的行都进行split操作,然后提取站点名和其代码
name = line.split('|')[1] # 站点名字
code = line.split('|')[2] # 每个站点对应的代码
name_code_dict[name] = code #每个站点肯定都是唯一的
with open(file, 'w') as f:
json.dump(name_code_dict, f, ensure_ascii=False)
with open("name_code.json", 'r') as f:
areatocode = json.loads(f.read())
# print(areatoc
爬取12306车票信息(初级版本)
最新推荐文章于 2024-07-08 14:21:22 发布