インポート要求が
PDのようパンダインポート
インポート矢印
輸入JSONの
インポートOS
itertoolsは、組み合わせのインポートから
os.chdir(R'C:/ユーザー/ Windowsの/デスクトップ')
クラス高速(オブジェクト):
デフ__init __(自己、日付、from_station、to_station):
self.date =日付
self.from_station = from_station
self.to_station = to_station
DEF get_pd(自己):
ヘッダー= { 'のUser-Agent':「のMozilla /5.0(Windows NTの10.0; WOW64)のAppleWebKit / 537.36(ヤモリ様KHTML)クローム/ 80.0.3970.5サファリ/ 537.36 '}
R = requests.get(' https://www.12306.cn/kfzmpt/lcxxcx/query ?purpose_codes = ADULT&queryDate = '+ self.date +' &from_station = '+ self.to_station +' &to_station = '+ self.from_station、ヘッダー=ヘッダ)の.text
戻りR
DEF to_csv(自己):
JS = self.get_pd()
JS2 = json.loads(JS)は、
試してみてください。
データ= JS2 [ 'データ'] [ 'DATAS']
dt_data = pd.DataFrame(データ)
TM = arrow.now()フォーマット( 'HH:MM')。
dt_data [ '记录时间'] = TM
dt_data.to_csv(self.date + 'のtest.CSV'、= 'GBK'、モード= ''、インデックス=偽をコードする)
を除いて:
印刷( '空')
場合__name__ == '__main__':
cheng_yu = [」 ICW」、 'JOW'、 'FYW'、 'WZW'、 'NKW'、 'NWW'、 'RQ'、 'FQW'、 'WMW'、 'FZW'、 'CYW'、 'CQW'、 'DYW' 、 'MYW'、 'NIW'、 'NCW'、 'MSW'、 'YBW'、 'VJW'、 'RXW']
COM =組み合わせ(cheng_yu、2)
com_use = []
xのCOMでは:
com_use.append( x)は
()12,13:#注意时间的修改範囲のiについての
日付= '2020から01 - {}'形式(STR(I))
com_useにおけるLSのための:
hspeed =高速(日付、LS [0]、LS [1])
hspeed.to_csv()
印刷( '完成!')
私は12306が20以上である、このインターフェイスを見つけることができませんでした前に、チケットが表示されている以上、このURLは実際にはまだ完全に表示されますが、良心は、データを直接JSONデータは非常に便利な、洗浄する必要はありません取得するクロールされました!