亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

BeautifulSoup做爬蟲返回的網站是亂碼! 郁悶

BeautifulSoup做爬蟲返回的網站是亂碼! 郁悶

有事燒紙 2016-02-12 01:11:41
html_outputer.py :html_parser.py:得到的網站:----------------------------------------------看到網上的方法修改soup = BeautifulSoup(html_cont, "html.parser", from_encoding="utf-8")為soup = BeautifulSoup(html_cont, "html.parser", fromEncoding=”gb18030″)沒有作用,并且提示:求指教,感謝大家?。?
查看完整描述

3 回答

?
Davidham3

TA貢獻8條經驗 獲得超0個贊

這個跟編碼有關系,你在寫入文件的時候,最好是用with open的方式

?1.?

with?open("output.html",?"w",?encoding?=?'utf-8')?as?f:
????f.write("巴拉巴拉,巴拉巴拉")

2.

f?=?open("output.html",?'w',?encoding?=?'utf-8')
f.write("balabala")
f.close()

在編寫爬蟲時,先打開你要爬的網站頁面,右鍵空白處,查看源代碼,一般最上面都指定了這個頁面的編碼,比如

<meta?charset="utf-8">

這時候,按照這個編碼寫入文件就行,在open函數中指定編碼為utf-8,就不會報錯了。

查看完整回答
反對 回復 2016-02-27
?
squirel

TA貢獻2條經驗 獲得超0個贊

? 在你html文件中 <html>后面加一行

<meta?http-equiv="Content-Type"?Content="text/html;?charset=utf-8"/>

告訴瀏覽器用utf8編碼讀取數據

查看完整回答
反對 回復 2016-02-20
?
hldh214

TA貢獻12條經驗 獲得超3個贊

其實亂碼是控制臺造成的, 你看看PS的編碼, 是GBK的, 但是返回的數據是utf-8的, 導致亂碼

so, 在輸出之前encode一下就好啦

查看完整回答
反對 回復 2016-02-12
  • 有事燒紙
    有事燒紙
    這個不是在輸出之前encode嗎? fout.write("<td>%s</td>" % data['title'].encode('utf-8')) fout.write("<td>%s</td>" % data['summary'].encode('utf-8')) 請講清楚一些 謝謝
  • 3 回答
  • 0 關注
  • 2475 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號