[問題] Python Selenium抓國旅卡網站資訊亂碼

作者: threeSecGun (三秒槍)   2019-01-27 17:44:51
有關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
想請教是否有版友遇過類似問題,想請教應如何解決此類問題
感謝指點~
作者: f496328mm (為什麼會流淚)   2019-01-27 19:02:00
看了一下,店名用全形是哪招,低能政府
作者: shala (沙羅)   2019-01-27 19:05:00
我沒改編碼但正確抓取並存檔。Windows環境。Linux靠其他人測試
作者: threeSecGun (三秒槍)   2019-01-27 20:07:00
我Windows環境下能正確抓取沒問題 但LINUX下就變亂碼
作者: justoncetime (台北叢林好冷~)   2019-01-27 20:28:00
應該是console編碼的問題,其實Windows也有。
作者: threeSecGun (三秒槍)   2019-01-27 20:56:00
我在Linux底下直接寫入file 也是顯示出亂碼(如畫面)
作者: s860134 (s860134)   2019-01-27 23:11:00
encode decode 的老問題wait 你後面 "變亂碼" 根本不是亂碼看起來是沒抓到你要文本吧 option value.... 這不是亂碼.還是有程式碼給別人 debug 比較快
作者: threeSecGun (三秒槍)   2019-01-29 17:15:00
感謝樓上幾位版友建議 後來找出解決方式直接在file open加上encoding="utf-8" 即可顯示中文

Links booklink

Contact Us: admin [ a t ] ucptt.com