[問題] (已解決)爬蟲圖片遇到編碼問題(日文)
------ 目前已解決-----
有熱心的版友跟我站內信後
發現是網頁編碼的問題
站內給我修改過的code
是可以抓的,非常感謝這位版友
也謝謝底下各位的推文與建議 Q_Q
-----------------------
各位版上的前輩們好:
昨天晚上臨時想寫一個小爬蟲
抓一個日本網站上的圖片
作業環境:windows 8.1
python版本:3.7.0
我是直接用Notepad++ 寫
用windows console 下指令去執行
結果遇到有圖片是用日文命名
導致UnicodeEncodeError
錯誤訊息截圖:https://imgur.com/Zw5wXnn

(這個截圖不知道有沒有用,沒用的話我再刪掉)
Code:https://pastebin.com/681VVgzb
我只擷取抓圖片那邊的code
前面的code都只是過濾找出img的tag而已,應該是沒問題
然後用成 "http://abc.jpg"丟到urlretrieve抓到我設定的資料夾
這個方法也是我在網路上找到的
主要是i['src'] 會有日文字出現 (日文命名的圖片檔)
下面那一行key
是我之前專題的組員時候,要用指令下關鍵字(中文)
丟到該網站搜尋,把搜尋的結果抓下來
當時發現網址會把關鍵字轉成%B2%R2%45類似這樣
我的組員使用urllib.parse.quote將中文轉成那樣併入url
我參考組員的code
因為我想要轉成%xx%bb這個樣子
丟到urlretrieve抓
但是先試印出來的結果不太對
圖片:https://imgur.com/TT3VYAH

圖片網址在瀏覽器上直接是http://xxx.com/日文4.jpg
我擷取後半日文.jpg 貼在記事本
比對用quote印出來 (console)
發現整個不一樣...
因為有試過用記事本的網址貼到瀏覽器,可以正確顯示那個圖片
但quote不一樣也無解
我在stackoverflow 也試著用關鍵字爬過
其中這一篇:https://goo.gl/JYJrgW
提到windows的狀況
難道只能修改作業系統或是跳槽到linux嗎....
沒有只改code就能解決的辦法嗎
這個問題意想不到我弄了一個晚上到現在都還沒用好
還麻煩有類似經驗的大大幫忙了,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.123.238.66
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1532837695.A.65D.html
推
07/29 15:59,
7年前
, 1F
07/29 15:59, 1F
e大,你說的quot 難道是指我用的quote << 不過這個我也只有用那一行
※ 編輯: laiDark (140.123.238.66), 07/29/2018 16:22:37
→
07/29 18:46,
7年前
, 2F
07/29 18:46, 2F
→
07/29 18:46,
7年前
, 3F
07/29 18:46, 3F
→
07/29 18:47,
7年前
, 4F
07/29 18:47, 4F
→
07/29 18:51,
7年前
, 5F
07/29 18:51, 5F
c大,有版友建議我cmd改utf8~ 但結果還是一樣QQ
推
07/29 19:10,
7年前
, 6F
07/29 19:10, 6F
→
07/29 19:10,
7年前
, 7F
07/29 19:10, 7F
※ 編輯: laiDark (140.123.238.66), 07/29/2018 19:21:46
→
07/29 20:24,
7年前
, 8F
07/29 20:24, 8F
→
07/29 20:24,
7年前
, 9F
07/29 20:24, 9F
※ 編輯: laiDark (140.123.238.66), 07/29/2018 20:30:31
→
07/29 20:27,
7年前
, 10F
07/29 20:27, 10F

→
07/29 20:30,
7年前
, 11F
07/29 20:30, 11F
→
07/29 20:30,
7年前
, 12F
07/29 20:30, 12F
→
07/29 20:31,
7年前
, 13F
07/29 20:31, 13F
c大,因為我是昨晚臨時想寫,就沒有另外裝linux ~
(python notepad++ 都是昨天才裝的XD)
只是這支程式是想要給其他朋友使用,才在windows底下寫
我也是第一次在windows下寫python,不然我之前都是用linux
只是那台linux電腦壞掉,現在也是用筆電先墊著....
※ 編輯: laiDark (140.123.238.66), 07/29/2018 20:37:22
→
07/29 20:32,
7年前
, 14F
07/29 20:32, 14F
推
07/29 20:42,
7年前
, 15F
07/29 20:42, 15F
→
07/29 20:42,
7年前
, 16F
07/29 20:42, 16F
→
07/29 23:44,
7年前
, 17F
07/29 23:44, 17F
推
07/30 10:32,
7年前
, 18F
07/30 10:32, 18F
Python 近期熱門文章
PTT數位生活區 即時熱門文章