クロールのpython爬虫類以上12306高速鉄道のチケット

インポート要求が
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データは非常に便利な、洗浄する必要はありません取得するクロールされました!
        
        
       

公開された19元の記事 ウォンの賞賛0 ビュー883

おすすめ

転載: blog.csdn.net/weixin_44056948/article/details/103943048