日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python学习之路——12306爬票遇到的两个问题

發布時間:2023/12/20 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习之路——12306爬票遇到的两个问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用PyCharm+QT5在12306爬取余票信息的項目中遇到的問題,

問題1:This application failed to start because not Qt platform plugin could be initialized.? ?

問題2:json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

問題1:使用PyCharm進入QT Designer繪制了窗體window.ui,后轉成window.py文件,經過代碼修改調試后run window,報錯This application failed to start because not Qt platform plugin could be initialized.? ?在網上查找了各路大佬的方法,復制plugins文件、修改系統環境變量等無果,最后檢查了一下是項目文件的路徑存在中文,改掉中文,啟動,就成功啦

問題2:請求車票信息時,運行到result = response.json()這一步報錯json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0),

url = "https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date={}&leftTicketDTO.from_station={}&leftTicketDTO.to_station={}&purpose_codes=ADULT".format(date, from_station, to_station) response = requests.get(url, headers=header) result = response.json()

原因為request.get()是獨立的一次訪問,沒有攜帶前幾個訪問請求反饋后的狀態,相當于把每次請求看成了獨立瀏覽器去完成的,所以12306拒絕訪問。

解決方法為增加cookie直接寫入header,或者直接使用cookie。

修改后的代碼:

cookie = "_uab_collina=162446435281309305961668; JSESSIONID=28E53DE9D9C2EFA35710524A230FB4B8; BIGipServerotn=619708938.64545.0000; RAIL_EXPIRATION=1624775618686; RAIL_DEVICEID=rK1N26rkjeEQyLccR-mNLg3VxH0a9maG-KWLbrvx_NcoRN24nndiPGbLUq9_WCIgurdTMipo7-0glBTnodSVIfGlIJ1NNNfBlIyq8czcR_YQcnG8YWMfC01Z9Bd_Za9-SfnOgwRPc0Sa_CNWeUcUBk-qc65rPRZQ; BIGipServerpool_passport=65274378.50215.0000; route=6f50b51faa11b987e576cdb301e545c4; _jc_save_toStation=%u4E0A%u6D77%2CSHH; _jc_save_fromDate=2021-06-24; _jc_save_toDate=2021-06-24; _jc_save_wfdc_flag=dc; _jc_save_fromStation=%u5317%u4EAC%2CBJP" header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3870.400 QQBrowser/10.8.4405.400','Connection':'keep-alive','accept':'*/*','Cookie':cookie} url = "https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date={}&leftTicketDTO.from_station={}&leftTicketDTO.to_station={}&purpose_codes=ADULT".format(date, from_station, to_station) response = requests.get(url, headers=header) result = response.json()

啟動,運行成功

總結

以上是生活随笔為你收集整理的Python学习之路——12306爬票遇到的两个问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。