[問題] 爬蟲編碼utf8後整個檔案只剩一句話?

作者: wayne64001 (哥,閉嘴啦)   2018-10-07 15:28:06
小弟python新手 最近想實作一下爬蟲的部分
選擇reddit論壇 爬完檔案之後想要續做文字分析
但在爬蟲輸出時遇到了編碼的問題
我爬文參照了一些解決方案 是解決了 但整個文件只剩下一句話
請問該怎麼解決呢?
https://imgur.com/a/2uezYPV
作者: HenryLiKing (HenryLiKing)   2018-10-07 17:01:00
因為你 ignore了(?)
作者: wayne64001 (哥,閉嘴啦)   2018-10-07 22:53:00
把ignore去掉也是一樣....
作者: gmccntzx1 (o.O)   2018-10-07 22:56:00
你的 In [76] 執行結果應該是 In [72] 的最後一段所以請試著完整的執行 In [72] 並對裡面的content_container.text decode講簡單點:把 In [76] 的那行 print 取代掉 In [72] 的那行 print ...因為你寫入一段後就馬上把 file 關了所以你 for 迴圈裡在做的事情是:1. 取得 content_container.text2. 開一個新的 file ("fuckyou123.txt")3. 寫入 content_container.text4. 關閉 file ("fuckyou123.txt")由於 file open 的方式是 'w' (write),所以每次都會以一個新檔案覆蓋掉原本的檔案。又加上 file 的 open/close 都在同一個迴圈內,所以實際上這個 file 已經被覆寫掉很多遍,直到最後一行結束。所以建議你把 file 的 open/close 移到迴圈外,迴圈內只負責寫入資料。要先 open file ,再來寫入資料,最後才 close file記得你的 `outfile.write(data)` 要放在迴圈內有解決問題就好,有空可以再看一下 with statementkey word: python with "context manager" "file open"keyword*https://goo.gl/Fi9oKQ 直接貼給你好 XD上面連結的其他內容也可以多看看,希望對你有幫助!
作者: cutekid (可愛小孩子)   2018-10-08 00:08:00
gm 大總是很有耐心,推(y)
作者: gmccntzx1 (o.O)   2018-10-08 10:34:00
謝謝樓上 d(`・∀・)b

Links booklink

Contact Us: admin [ a t ] ucptt.com