爬蟲(requests)爬取數據爬到一半時亂碼了的解決辦法

        今天寫了一個爬蟲採集一些數據,剛開始一切都很好,後來採集到3萬條左右的時候出現了亂碼,不僅是保存到CSV文件中是亂碼,就連打印到控制檯窗口也是亂碼,這時怎麼一回事?

       初步將問題定在網頁編碼可能發生了改動,一開始我請求數據是這樣寫的:

html = requests.get(detailUrl, headers=headers, timeout = 5).text
mytree = lxml.etree.HTML(html)

       這樣在一開始的時候控制檯上和CSV文件中都沒有出現亂碼,但是後面在某一頁數據之後就開始亂碼了,然後我就做了這樣的修改:

html = requests.get(detailUrl, headers=headers, timeout = 5)
html.encoding = 'utf-8'
mytree = lxml.etree.HTML(html.text)

        將請求到的數據強制用” utf-8 “ 進行編碼,這樣修改過後控制檯輸出的信息沒有亂碼,但是CSV中間中還是亂碼,後來我又對CSV文件保存數據的方式進行了修改,具體修改方式參見我的上一篇博客,至此,亂碼問題就被解決了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章