PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
[問題] 用requests.post爬蟲 以及編碼的問題
作者:
akpipnlge
(akpipnlge)
2016-07-01 03:46:46
小弟因為專題需要爬證交所網站的一些資料,所以用python 2.7 和requests套件操作
網址如下:
http://www.twse.com.tw/ch/trading/indices/MI_5MINS_HIST/MI_5MINS_HIST.php
(每個月份都要爬)
程式碼如下:
import requests
payload = {
'myear': 2016,
'mmom': 5
}
url='http://www.twse.com.tw/ch/trading/indices/MI_5MINS_HIST/MI_5MINS_HIST.php'
page = requests.post(url, data=payload)
print page.text.decode('iso-8859-1').encode('utf8')
然後就遇到兩個問題:
1.有抓到東西,但是只有抓到其他不重要的,數據的部分完全沒有
(應該是payload那有錯,抱歉小弟連html都沒寫過QQ)
2.抓下來的編碼是亂碼,所以加了爬文看到的解碼那行,卻出現error:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xbb' in position
130: ordinal not in range(128)
整整花了3個半天還是搞不定,只好PO文求救了QQ
作者:
woogee
(woogee)
2016-07-01 05:42:00
按F12看原始碼,它是先把資料讀入一個input直接從input讀數值(是html),再用BeautifulSoup轉就好
作者:
s860134
(s860134)
2016-07-01 08:07:00
ㄜ 其實不是上面的問題 只是你 key 帶錯了2016(X =>105(O, mmom(X =>mmon(Opayload={'myear':'105','mmon':'06'}他月份也限定只能是 06, 所以你不能少那個0
作者:
akpipnlge
(akpipnlge)
2016-07-01 21:15:00
我用s大的方式還是爬不到應該是還少了查詢那個button的key但是我從網頁的原始碼找不到那個button的name QQ原始碼應該是這行:<input type=button class="board" value="查詢"onclick="date_form.submit();">
作者:
iPhone007
(iPhone007)
2016-07-01 22:39:00
http://imgur.com/QDY1HLM
我試s大的解法是ok只是不知為何 BeautifulSoup 無法解析
作者:
akpipnlge
(akpipnlge)
2016-07-02 06:34:00
嗚嗚 我終於成功了 不過beautifulsoup我也不work所以最後就用HTMLParser去Tag 非常感謝樓上兩位大大
作者:
s860134
(s860134)
2016-07-03 18:30:00
程式多加入 page.encoding='utf-8'後面page.text 就是正確的編碼了
繼續閱讀
[問題] multi threading 應用
josefy
[問題] 使用selenium爬蟲被偵測為機器人
xyz6206a
numpy語法
chukc
[問題] python 2.7.12 cmd 已經停止運作
n1216305
[問題] 如何動態產生Model
BlgAtlfans
Re: [問題] 新手對Web Server和Web Framework的疑問
kenduest
Re: [問題] 台銀匯率爬蟲問題
iPhone007
[問題] 台銀匯率爬蟲問題
f0987654
[問題] 新手對Web Server和Web Framework的疑問
weinine32
[問題] ffmpeg issue
jackjenny
Links
booklink
Contact Us: admin [ a t ] ucptt.com