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")

  如果中文页面编码是gb2312,gbk,在BeautifulSoup构造器中传入fromEncoding="gb18030"参数即可解决乱码问题,

  即使分析的页面是utf8的页面使用gb18030也不会出现乱码问题;

原文地址:https://www.cnblogs.com/lizm166/p/8319919.html

时间: 2024-09-30 15:03:50

Python3.x:BeautifulSoup()解决中文乱码问题的相关文章

Python3中如何解决中文乱码与编码的问题

1.解决乱码问题: pyhton中内部所有编码是Unicode,中文是gbk:正常情况下,我们输出的是utf-8: 我们可以采用sys.getdefaultencoding()查看系统默认的编码: 解决方法有如下几种: 1.在文件开头添加上:#coding:utf-8或者# -*- coding:utf-8 -*- 2.转换路径:原文件编码 ->unicode中转码 ->我们需要的编码格式     (decode()可选) ->unicode ->encode(),如果内容已经un

Cocos2d-x 3.1.1 学习日志4--cocos2d-x解决中文乱码问题的几种办法

做个打飞机的游戏,由于版本太新,网上基本没有教教程,我的版本是cocos2d-x 3.1.1的,今天遇到cocos2dx中中文乱码的问题.无奈只好Google百度寻求答案,明白了这个问题的缘由.因为cocos2d-x内部是以utf8处理文本的,而VS直接输入时文本编码为GBK,如果添加L标志,则为Unicode编码. 解决这个问题有三种办法: 将源代码文件保存为utf8编码,不过由于编译器的问题,这种方式会导致很多无法预测的问题 将字符串用utf8编码集中存到一文件中,然后用代码读取这些字符串来

linux基础-zabbix解决中文乱码问题 (因为版本太新的问题,没有测试成功)

zabbix解决中文乱码问题 1.在windows系统中找一个自己喜欢的字体,这里我们用:msyh.ttf 2.将字体上传至/var/www/html/zabbix/fonts目录下 [[email protected] ~]# cd /var/www/html/zabbix/fonts/ [[email protected] fonts]# rz -yrz waiting to receive.???a? zmodem ′???£ °′ Ctrl+C ???£??′?? msyh.ttf...

解决中文乱码过滤器

解决中文乱码过滤器 import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse;

java解压多目录Zip文件(解决中文乱码问题)--转载

原文地址:http://zhangyongbo.iteye.com/blog/1749439 import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import org.apache.tools.zi

【原创】通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: '\xF0...

这篇blog重点在解决问题,如果你对字符编码并不是特别了解,建议先看看 < [原创]通俗易懂地解决中文乱码问题(1) --- 跨平台乱码 >. 当然,如果只是针对解决这个Mysql插入报错问题,本篇足够了. 一.定位错误 定位错误绝对是至关重要的一环.我建议遇到问题耐心分析一下比较好,毕竟“不是所有的牛奶都叫特仑苏”. 引起同一个问题的可能有很多,别人的解决方案也许并不适合自己. 那先看看问题出现在哪了,报错如下: 发现的确是编码错误, 16进制的错误提示(\xF0\x9F\x94\xA5\x

javaEE:day2-servlet生命周期、提交解决中文乱码、tomcat加载jar包或类文件的顺序

servlet生命周期 生命周期简介: servlet在服务器第一次被请求的时候new出来,并初始化(即init())再调用service方法.这个实在服务器中new出来,然后用HashMap加的,与客户端无关.客户端之后访问只调用这个servlet的service方法. 具体分为4步: 1 构造方法 :服务器在被客户端第一次请求的时候运行 仅在服务器中运行一次 2 init方法:客户端第一次访问服务器的时候在服务器中进行初始化 仅一次.并且可以通过config参数在 web.xml中通过(ke

HttpServletRequest解决中文乱码的问题

HTTP请求有get和post,这两中方式解决中文乱码的方式如下: 1.Post方式请求 //这句话是设置post请求体的编码为utf-8 request.setCharacterEncoding("utf-8");//获取请求参数 request.getParameter("username"); 2.Get方式请求 new String(request.getParameter("username").getBytes("ISO-8

Android--字符串和16进制相互转化(解决中文乱码)

import java.io.ByteArrayOutputStream; /** * Created by Administrator on 2016/2/2. * -----------16进制和字符串互转--------- * ------------解决中文乱码问题--------- */ public class StringToSixthUtils { private static String hexString = "0123456789abcdef"; /* * 将字