作者chaotic0307 (堅持、耐心、努力學習)
看板Python
標題Re: [問題] 請問想查詢高鐵時刻表的問題
時間Thu Mar 28 12:51:09 2019
※ 引述《chaotic0307 (堅持、耐心、努力學習)》之銘言:
: 自己的文章自己回~
: 不知道去年高鐵網站是不是有改過,一些書上的方法好像都失效了
: 透過chrome的開發者工具,可以在XHR底下找到回傳的data
: 自己做功課的了解是這應該是動態網頁,資料格式應該是json(?
: 試過一些方法還是抓不到(跟cookies or session有關嗎?
: 在Response Headers 當中顯示 Cache-Control: private, max-age=5
: 沒有Allow,是不是代表無法抓取?
: 但在網頁按右鍵->檢查->copy element貼到記事本是有看到的
: 跪求高手解惑~
感謝推文的大大們,有API真的是方便許多
最近比較熟悉爬蟲後,終於解決先前的問題,順利得到回應的json資料
先前主要應該是網址錯誤跟沒用session
url = '
http://www.thsrc.com.tw/tw/TimeTable/SearchResult'
改成
url = '
http://www.thsrc.com.tw/tw/TimeTable/Search'
header跟form_data部分就是看開發者工具裡面的內容全貼進去
以下幾行就搞定
rs = requests.session()
res = rs.post(url, headers=headers, data=form_data)
jsdata = res.json()
這樣就可以順利取得json資料
在爬蟲的路上又邁進一小步了XD 感謝大家!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.169.33
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1553748672.A.20F.html
推 alen84204: 推後續更新 03/28 16:06
推 jasonfghx: WOW 03/28 18:26
推 nini200: 推 03/29 18:38
推 ofspring: 強!自己也卡在這個問題,不知大大有無github可以提供程 03/29 23:38
→ ofspring: 式碼讓小弟學習 03/29 23:38
→ chaotic0307: 第一次用github,不知道對不對XD 有問題再說 04/01 14:21