看板 Python 關於我們 聯絡資訊
有關Selenium抓取網頁資料變亂碼問題請教: 最近想寫一個抓取國旅卡所有店家資料 從官方網站http://travel.nccc.com.tw用Selenium及BS4抓取頁面資料 一開始先在Windows下編寫測試,可以正常抓取到資料顯示也正常 就把程式丟到Linux的機器執行 跑出來店家資料print出來卻顯示亂碼 程式執行畫面如下: windows下執行顯示正常 https://i.imgur.com/oMu41oF.jpg
Linux下執行print變亂碼 https://imgur.com/kqiFtDR.jpg
看起來像是編碼問題(utf8 big5?) 查看Google後 試著用加上encode=big5 及encode=utf8 結果顯示的結果還是一樣亂碼無法正常秀出中文內容 嘗試用BS4把頁面整個抓取下來後寫到檔案 結果檔案內容: 前面網頁訊息中文正常, 後面店家資訊就顯示亂碼 畫面如下: 前面網頁訊息: https://imgur.com/c3ruZC5.jpg
後面店家資訊: https://i.imgur.com/IkP8GuW.jpg
想請教是否有版友遇過類似問題,想請教應如何解決此類問題 感謝指點~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.213.204.25 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1548582294.A.347.html
f496328mm: 看了一下,店名用全形是哪招,低能政府 01/27 19:02
shala: 我沒改編碼但正確抓取並存檔。Windows環境。 01/27 19:05
shala: Linux靠其他人測試 01/27 19:27
threeSecGun: 我Windows環境下能正確抓取沒問題 但LINUX下就變亂碼 01/27 20:07
justoncetime: 應該是console編碼的問題,其實Windows也有。 01/27 20:28
threeSecGun: 我在Linux底下直接寫入file 也是顯示出亂碼(如畫面) 01/27 20:56
s860134: encode decode 的老問題 01/27 23:11
s860134: wait 你後面 "變亂碼" 根本不是亂碼 01/27 23:13
s860134: 看起來是沒抓到你要文本吧 option value.... 這不是亂碼. 01/27 23:14
s860134: 還是有程式碼給別人 debug 比較快 01/27 23:15
threeSecGun: 感謝樓上幾位版友建議 後來找出解決方式 01/29 17:15
threeSecGun: 直接在file open加上encoding="utf-8" 即可顯示中文 01/29 17:16