BeautifulSoup做爬虫返回的网站是乱码! 郁闷

html_outputer.py :

56bcbe6a000112df05000214.jpg


html_parser.py:

http://img.mukewang.com/56bcbef40001611406900160.jpg

得到的网站:

http://img.mukewang.com/56bcc07d0001a4c409910288.jpg

----------------------------------------------

看到网上的方法

修改soup = BeautifulSoup(html_cont, "html.parser", from_encoding="utf-8")

为soup = BeautifulSoup(html_cont, "html.parser", fromEncoding=”gb18030″)

没有作用,并且提示:

56bcbe6a0001780805000102.jpg

求指教,感谢大家!!

有事烧纸
浏览 2336回答 3
3回答

Davidham3

这个跟编码有关系,你在写入文件的时候,最好是用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,就不会报错了。

squirel

  在你html文件中 <html>后面加一行<meta http-equiv="Content-Type" Content="text/html; charset=utf-8"/>告诉浏览器用utf8编码读取数据

hldh214

其实乱码是控制台造成的, 你看看PS的编码, 是GBK的, 但是返回的数据是utf-8的, 导致乱码so, 在输出之前encode一下就好啦
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python