作者Pettitte1 (低調奢華有內涵)
看板Python
標題[問題] 下載台股上櫃每日收盤碰到mac greek code
時間Mon Oct 10 09:20:41 2022
最近再下載台股上櫃每日收盤行情時
會碰有些日期的編碼是 mac greek
code如下
import requests
# 上櫃 OTC
dateOTC = '110/11/30'
link =
'
http://www.tpex.org.tw/web/stock/aftertrading/daily_close_quotes/stk_quote_download.php?l=zh-tw&d='
+ dateOTC + '&s=0,asc,0'
r = requests.get(link)
print(r.apparent_encoding)
# 得到 'mac_greek'
# 使用 encoding = 'mac_greek' 後
r.encoding = 'mac_greek'
print(r.text)
# 得到如下
'ΛWΣ─蹏XΠφ±Γ(ßtΒΞΜυΓBΙsΣ─ΓB蟖蹏\ΓBΙdΟBΞφc ω)\r\n
Ηξ°ΤΛι¥Ν:110/11/30\r\nΞNΗΙ,ΠWΚ
請問怎麼轉成中文呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.247.195.34 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1665364844.A.EE2.html
1F:→ surimodo: 看不懂欸 apparent_encoding 不就說big5格式 10/10 11:22
2F:→ surimodo: 如果是裡面的日期格式不是你想要的只能自己手動處理 10/10 11:22
我用apparent_encoding 得到的是 'mac_greek'
還是說 'mac_greek' == 'Big5' ?
我後來是用 chardet 套件先找到 encoding = 'Big5' 後
在 r.encoding = 'Big5' 解決的
※ 編輯: Pettitte1 (27.247.195.34 臺灣), 10/10/2022 11:29:31
3F:→ surimodo: 喔 我懂了 你是用蘋果電腦? 10/10 11:40
4F:→ surimodo: 那個是回傳自己電腦預設解碼方式 10/10 11:41
5F:→ surimodo: 資料格式回傳回來的是big5 10/10 11:43
6F:→ surimodo: 編碼不對出亂碼 10/10 11:43
7F:→ surimodo: 不過怎麼會是希臘語 10/10 11:47
8F:→ lycantrope: 誰知道. 10/10 11:53
apparent_encoding 是自己電腦預設解碼方式喔
那我要查一下為啥是mac greek 了
我是用 vscode 的 Jupyter Notebook
是 windows 的電腦
※ 編輯: Pettitte1 (1.169.183.33 臺灣), 10/10/2022 15:35:03
9F:→ lycantrope: Response本身就是用chardet來detect內容啊.. 10/11 08:58
10F:→ qrtt1: 好好找個支援 api 的券商,開個戶比較好抓 10/12 19:46