Re: [問題] 股票交易爬蟲問題
※ 引述《a00880022 (QQ)》之銘言:
: 大家好
: 小弟最近接觸爬蟲
: 想要從 台灣證券交易所
: http://www.twse.com.tw/ch/trading/exchange/STOCK_DAY/STOCK_DAYMAIN.php
: 爬取過去每天的收盤價
: 但由於不熟悉網頁架構
: 在爬取的時候不知道怎麼從python輸入input給網頁然後抓取資料
: 附上目前程式碼
: ------------------------------------
: import requests
: from bs4 import BeautifulSoup
: payload={}
: date=('download=&query_year=2017&query_month=5&CO_ID=1101&query-button=%E6%9F%A5%E8%A9%A2')
: res=requests.post('http://www.twse.com.tw/ch/trading/exchange/STOCK_DAY/STOCK_DAYMAIN.php',data=date)
: print (res.text)
: ------------------------------------
: 我是利用一個date值存入年月以及股票編號想要回傳給網頁
: 但print出來的值好像接收不到(無法讀取table)
: 想要請大神們就救我這個新手
: google了一整天還是找不到個結果.....
本來neil987大大已經回答你的問題了,不過就在昨天下午五點半
證交所又更新他的網站啦orz... 所以在這邊提供完整可行的code
import requests
params = {"date":"20170524",
"stockNo":"1101"}
res = requests.post('http://www.twse.com.tw/exchangeReport/STOCK_DAY',
params=params)
eval(res.text)
這樣傳回的就是跟網站求的table囉 ^^
*注意:因為五月還沒結束,所以"date"要打當天的日子,結束之後都會改成XX01。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.253.33
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1495567133.A.FCF.html
※ 編輯: ntumath (140.112.253.33), 05/24/2017 03:20:44
推
05/24 07:14, , 1F
05/24 07:14, 1F
推
05/24 11:07, , 2F
05/24 11:07, 2F
→
05/24 11:07, , 3F
05/24 11:07, 3F
啊~應該不是說是json就可以用get處理,主要還是看你跟server是透過哪種方法傳,
只是目前大部份的server都應該會接受post,所以這邊會沒差
推
05/24 11:55, , 4F
05/24 11:55, 4F
→
05/24 11:55, , 5F
05/24 11:55, 5F
→
05/24 11:55, , 6F
05/24 11:55, 6F
→
05/24 11:56, , 7F
05/24 11:56, 7F
params就是把參數變成string加在url後面:?後面全部都是你的參數,通常get都用這個
data是把資料裝在body(詳細的我不知道):也會像get去要同一個url,但是你print出來
會完全看不到你的參數。通常post用這個。
我想詳細的解釋可能要學HTTP之後才會了解,你有興趣可以去看一下
推
05/24 16:30, , 8F
05/24 16:30, 8F
推
05/25 01:12, , 9F
05/25 01:12, 9F
※ 編輯: ntumath (140.112.253.33), 05/25/2017 01:30:58
推
05/25 08:03, , 10F
05/25 08:03, 10F
→
05/25 08:03, , 11F
05/25 08:03, 11F
→
05/25 08:04, , 12F
05/25 08:04, 12F
→
05/25 08:05, , 13F
05/25 08:05, 13F
討論串 (同標題文章)