Re: [問題] 請問想查詢高鐵時刻表的問題
※ 引述《chaotic0307 (堅持、耐心、努力學習)》之銘言:
: 各位先進好,小弟剛自學python沒多久,最近在練習一個高鐵時刻表的爬蟲卻
: 一直卡關,不知道問題出在哪,用的是python3.6版
: 程式碼如下:
: import requests
: from bs4 import BeautifulSoup
: url = 'http://www.thsrc.com.tw/tw/TimeTable/SearchResult'
: form_data = {
: 'StartStation':'977abb69-413a-4ccf-a109-0272c24fd490',
: 'EndStation':'9c5ac6ca-ec89-48f8-aab0-41b738cb1814',
: 'DepartueSearchDate':'2019/01/30',
: 'DepartueSearchTime':'09:30',
: 'SearchWay':'DepartureInMandarin'
: }
: #原例子是用SearchDate,但在高鐵網頁按F12看到是DepartueSearchDate,不知有錯嗎?
: response_post = requests.post(url, data=form_data)
: soup_post = BeautifulSoup(response_post.text, 'lxml')
: soup_post
: 原本要用下面的方式來記錄般車,但是用美麗湯解析後發現class裡面根本沒有column1
: 不知道問題出在哪?
: # 所有班車(train_number)
: td_col1 = soup_post.find_all('td', {'class':'column1'})
: train_numbers = []
: for tag in td_col1:
: # print(tag)
: train_number = tag.text
: train_numbers.append(train_number)
: 有嘗試加header或是用urllib的方式,但好像都查詢不到
: 跪求高手解惑~謝謝!
: 原例:
: https://github.com/music1353/pyHowFun/blob/master/LESSON4%20%E7%88%AC%E8%9F%B
: 2%E5%AF%A6%E6%88%B0%20-%20%E9%AB%98%E9%90%B5%E6%99%82%E5%88%BB.ipynb
自己的文章自己回~
不知道去年高鐵網站是不是有改過,一些書上的方法好像都失效了
透過chrome的開發者工具,可以在XHR底下找到回傳的data
自己做功課的了解是這應該是動態網頁,資料格式應該是json(?
試過一些方法還是抓不到(跟cookies or session有關嗎?
在Response Headers 當中顯示 Cache-Control: private, max-age=5
沒有Allow,是不是代表無法抓取?
但在網頁按右鍵->檢查->copy element貼到記事本是有看到的
跪求高手解惑~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.225.115
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1550544004.A.3C7.html
※ 編輯: chaotic0307 (114.42.225.115), 02/19/2019 11:56:19
→
02/19 17:14,
6年前
, 1F
02/19 17:14, 1F
→
02/19 19:04,
6年前
, 2F
02/19 19:04, 2F
→
02/19 22:49,
6年前
, 3F
02/19 22:49, 3F
→
02/19 22:49,
6年前
, 4F
02/19 22:49, 4F
→
02/20 11:40,
6年前
, 5F
02/20 11:40, 5F
→
02/20 23:38,
6年前
, 6F
02/20 23:38, 6F
→
02/23 08:31,
6年前
, 7F
02/23 08:31, 7F
推
03/20 17:38,
6年前
, 8F
03/20 17:38, 8F
→
03/20 17:38,
6年前
, 9F
03/20 17:38, 9F
→
03/20 17:38,
6年前
, 10F
03/20 17:38, 10F
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章