BeautifulSoup解决中文网页乱码

以下代码,在执行结果中的中文出现乱码。

from bs4 import BeautifulSoup
import urllib2

request = urllib2.Request(‘http://www.163.com‘)
response = urllib2.urlopen(request)
html_doc = response.read()
soup = BeautifulSoup(html_doc)

print soup.find_all(‘a‘)

因为中文页面编码是gb2312,gbk,在BeautifulSoup构造器中传入from_encoding = "gb18030"参数可解决乱码问题。

注:在BeautifulSoup3中,from_encoding需修改为fromEncoding。

from bs4 import BeautifulSoup
import urllib2

request = urllib2.Request(‘http://www.163.com‘)
response = urllib2.urlopen(request)
html_doc = response.read()
soup = BeautifulSoup(html_doc, from_encoding = "gb18030")

print soup.find_all(‘a‘)
时间: 2024-11-07 22:40:17

BeautifulSoup解决中文网页乱码的相关文章

Python3.x:BeautifulSoup()解决中文乱码问题

Python3.x:BeautifulSoup()解决中文乱码问题 问题: BeautifulSoup获取网页内容,中文显示乱码: 解决方案: import requests from bs4 import BeautifulSoup html = requests.get(url, headers=Hostreferer) soup = BeautifulSoup(html.content, "html.parser", fromEncoding="gb18030"

PHP文件上传并解决中文文件名乱码问题

PHP文件上传并解决中文文件名乱码问题 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 if(isset($_FILES['file'])){ ? ????$upload='upload/'.$_FILES['file']['name']; ????? ????? ????if(is_uploaded_file($_FILES['file']['tmp_name'])){ ????????//iconv函数解决上传文件中文名乱码的问题,但是不提倡文

Struts2 .apk 文件下载及解决中文文件名乱码问题(转)

1.Tomcat服务器不能下载 .apk类型文件 Android的APK安装包不能下载或下载文件是以 .zip为后缀名而不是 .apk为文件后缀名时,需在 Tomcat 的 web.xml 配置文件中加入以下 MIME 类型: 1 <mime-mapping> 2 <extension>apk</extension> 3 <mime-type>application/vnd.android.package-archive</mime-type>

python抓取中文网页乱码通用解决方法

我们经常通过python做采集网页数据的时候,会碰到一些乱码问题,今天给大家分享一个解决网页乱码,尤其是中文网页的通用方法. 首页我们需要安装chardet模块,这个可以通过easy_install 或者pip来安装. 安装完以后我们在控制台上导入模块,如果正常就可以. 比如我们遇到的一些ISO-8859-2也是可以通过下面的方法解决的. 直接上代码吧: import urllib2import sysimport chardet req = urllib2.Request("http://ww

Arcgis for Android解决中文字体乱码的问题

首先,在此感谢Arcgis for Android群里的一位成员,大家可以加进来QQ群号:337469080. 不论是Arcgis for Android的哪个版本,都没无法解决中文乱码的问题,这个与Android中自带的字体库有关,可以参考http://mobile.51cto.com/android-265238.htm这篇文章. 所以,要在Arcgis for Android中显示中文,需要对字体进行设置,如下: TextSymbol ts = new TextSymbol(25, add

将中文库导入到ARM板子中以解决中文显示乱码的教程

1.将中文字符集导入到ARM板子中的/usr/fonts/目录下 在这里我们使用的字符集为:DroidSansFallback.ttf 下载地址为:https://pan.baidu.com/s/1ARn2Y6Vh6MsRhjHP18yMwQ 中文字符集具体的导入过程如下: (1)将字符集DroidSansFallback.ttf拷贝到SD卡中. (2)在板子的/usr目录下新建文件夹fonts,同时提高文件夹的权限. 命令如下: mkdir fonts chmod 777 fonts 命令 (

Debian 9.5 解决中文显示乱码

一.首先检查LOCALE情况 说明:DEBIAN因为基于GNU所以,对不同地域进行了不同的包支持,以LOCALE形式存在. 1.启动终端 #apt-get install locales 2.重新配置LOCALE #dpkg-reconfigure locales 在界面中我勾选的是“en_US.UTF-8”和“zh_CN.UTF-8”.然后选择zh_CN.UTF-8为默认的LOCALE,则系统为中文界面(这里也可以选en_US.UTF-8,使系统为英文界面). 3.运行LOCALE命令检查当前

使用pdfBox实现pdf转图片,解决中文方块乱码等问题

一.引入依赖 <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>fontbox</artifactId> <version>2.0.13</version> </dependency> <dependency> <groupId>org.apache.pdfbox</groupId> <artif

前端网页、php与mysql数据库字符编码(解决中文等乱码问题)

web开发中经常涉及前端网页——php——mysql之间的数据交互,当数据只有英文时通常不会有什么问题,但一旦涉及中文,三个地方的某一处字符编码不一致(如,网页使用的时gbk而mysql使用utf-8)就有可能导致乱码的出现. (注:关于字符编码请参见百度百科:http://baike.baidu.com/view/1204863.htm?fr=aladdin) 前端网页编码: 通常我们都认为可以通过<head>标签内的<meta>项(如<META http-equiv=&q