Python爬虫获取网页源代码出现乱码

发现用python用requests在百度中获得的代码有乱码

import requests
# 0.通过如下代码,会发现获取的网页源代码出现乱码
url = 'https://www.baidu.com'
res = requests.get(url).text
print(res)

在这里插入图片描述
出现乱码

查看python获得的编码格式

import requests
# 0.通过如下代码,会发现获取的网页源代码出现乱码
url = 'https://www.baidu.com'
res = requests.get(url).text
print(res)# 1.编码分析
# 1.1 查看Python获得的网页源代码的编码方式,其编码方式为ISO-8859-1
url = 'https://www.baidu.com'
code = requests.get(url).encoding
print('通过Python获得的网页源代码的编码方式为:' + code)

在这里插入图片描述
网页获取的格式

按F12在head中查看
在这里插入图片描述
发现为utf-8编码需要转码

import requests
# 0.通过如下代码,会发现获取的网页源代码出现乱码
url = 'https://www.baidu.com'
res = requests.get(url).text
print(res)# 1.编码分析
# 1.1 查看Python获得的网页源代码的编码方式,其编码方式为ISO-8859-1
url = 'https://www.baidu.com'
code = requests.get(url).encoding
print('通过Python获得的网页源代码的编码方式为:' + code)# 1.2 查看网页实际的编码方式,通过F12查看,展开最上方的head标签(head标签里主要用来存储编码方式、网站标题等信息),
# 其中<meta charset="编码方式">中存储着网页实际的编码方式,可以看到网页实际的编码方法为utf-8
# 2.重新编码及解码
url = 'https://www.baidu.com'
res = requests.get(url).text
res = res.encode('ISO-8859-1').decode('utf-8')
print(res)  # 此时便已经可以解决数据乱码问题了

还有gbk的编码格式

其它情况的完整代码如下:

# =============================================================================
# 5.2 数据乱码常规处理方法 by 王宇韬 代码更新:www.huaxiaozhi.com 资料下载区
# =============================================================================import requests
# 0.通过如下代码,会发现获取的网页源代码出现乱码
url = 'https://www.baidu.com'
res = requests.get(url).text
print(res)# 1.编码分析
# 1.1 查看Python获得的网页源代码的编码方式,其编码方式为ISO-8859-1
url = 'https://www.baidu.com'
code = requests.get(url).encoding
print('通过Python获得的网页源代码的编码方式为:' + code)# 1.2 查看网页实际的编码方式,通过F12查看,展开最上方的head标签(head标签里主要用来存储编码方式、网站标题等信息),
# 其中<meta charset="编码方式">中存储着网页实际的编码方式,可以看到网页实际的编码方法为utf-8
# 2.重新编码及解码
url = 'https://www.baidu.com'
res = requests.get(url).text
res = res.encode('ISO-8859-1').decode('utf-8')
print(res)  # 此时便已经可以解决数据乱码问题了# 注意,如果有的网站的实际编码方式为gbk,则在decode解码的时候需要把utf-8换成gbk
# 补充知识点:encode()编码函数与decode()解码函数
# encode()编码函数
res = '华小智'  # 中文字符串
res = res.encode('utf-8')  # encode编码将中文字符串转为二进制
print(res)# decode()解码函数
res = b'\xe5\x8d\x8e\xe5\xb0\x8f\xe6\x99\xba'  # 二进制字符
res = res.decode('utf-8')  # decode解码将二进制字符转为字符串
print(res)# 3.数据乱码万金油的解决办法
import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}url = 'https://www.baidu.com'
res = requests.get(url).text
# res = requests.get(url, headers=headers).text  # 这里加headers能获取更多的网页源代码
try:res = res.encode('ISO-8859-1').decode('utf-8')  # 方法3
except:try:res = res.encode('ISO-8859-1').decode('gbk')  # 方法2except:res = res  # 方法1
print(res)  # 可以在源代码里搜索“百度”检验爬取成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/255698.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

php网页能实现飘窗吗,网页飘窗源代码

网页飘窗源代码 具体代码如下所示&#xff1a; //link "http://www.myexceptions.net"; //document.getElementById("lka").hreflink; var x 50,y 60 var xin true, yin true var step 1 var delay 20 var objdocument.getElementById("codefa…

如何用java获取网页源代码

如何用java爬取网页源代码 分为3个步骤&#xff1a; 分析实现方式代码展示结果展示 1、分析 以b站为例 抓取b站的源代码是这样的 那么我可以用URL对象获取HttpURLConnection对象 HttpURLConnection对象&#xff1a;它继承自URLConnection&#xff0c;可用于向指定网站发送GE…

Android获取网页源代码

工程目录&#xff1a; 清单文件增加访问网络权限&#xff0c;防止Cleartext HTTP traffic to xxx not permitted错误设置CleartextTraffic“true” <uses-permission android:name"android.permission.INTERNET"/>android:usesCleartextTraffic"true&qu…

屏蔽html查看源代码,禁止查看网页源代码方法

总是有新手问,如何禁止别人查看自己的网页源代码?答案是没有,对于有经验者所有方法都是徒劳的。 禁止查看网页源代码方法 一般常用的方法是在网页中加上类似的JS代码,屏蔽屏蔽键盘和鼠标右键。document.onkeydown = function() {var e = window.event || arguments[0]; if …

使用 Python3 获取网页源代码

爬虫的数据爬取量非常大&#xff0c;显然不可能对每个页面都手动复制源代码&#xff0c;因此就有必要使用自动化的方式来获取网页源代码。requests是Python的一个第三方HTTP&#xff08;Hypertext Transfer Protocol&#xff0c;超文本传输协议&#xff09;库&#xff0c;它比P…

html页面内容查找代码,网页源代码查看

怎么看一个网站的源代码,网页源代码怎么看 制作网页除了需要自己不断的灵感源泉,更需要借鉴前人们的经验和宝贵资源,平时多看别人的作品来丰富自己的知识库是十分好的方法,那我们怎么来借鉴别人的作品呢?当然是看别人的页面源代码了。互联网发展如此迅速。 如何查看一个网…

网页源代码查看竟然有这么多方法!你都知道吗?

当我们在浏览网页的时候&#xff0c;看到喜欢的网页&#xff0c;总想研究下它的代码是怎样写的&#xff0c;值得借鉴参考来修改自己的网站源码。你知道如何查看网页源代码吗&#xff1f; 网页源代码是什么&#xff1f; 网站源码&#xff0c;也称源代码&#xff0c;源程序&…

OpenWRT 实现Exsi8单个公网ip管理与访问

一台Dell R720机器 内存256G(64G*4)硬盘SSD 8T(1T*8)搭建了一个裸金属k8s集群(对比阿里云单台4核8G的费用不相上下) 机房上架提供了一个公网ip 需要一个公网ip能实现exsi虚拟机管理 又可以让虚拟机实现web访问 是终通过OpenWRT实现 OpenWRT实现步骤 1、官网访问并下载img镜…

Ubuntu 一键美化

新建一个setup.sh&#xff0c;以管理员权限安装 #!/bin/bash echo "" echo "#######################################################################" echo "# Start to configurate! #" ec…

蓝桥ROS中使用fishros一键安装

之前&#xff0c;提供如下方式解决更新问题&#xff1a; ROS域名解析问题记录&#xff08;蓝桥云课ros.asc&#xff09; 口碑很赞的fishros一键安装是否可以呢&#xff1f; 试一试看&#xff1a; 先调整一下分辨率&#xff0c;如下&#xff1a; fishros&#xff1a; mkdir -…

CF 云环境利用框架,一键化利用云上内网

前言 当我们平时拿到云服务的访问凭证即 Access Key 时&#xff0c;通常的做法可能是看下对方的 OSS 对象存储、或者在实例上执行个命令&#xff0c;但 AK 的利用远不止这些&#xff0c;通过 AK 我们可以做太多太多的事情&#xff0c;为了方便 AK 的利用&#xff0c;于是有了这…

python免费 爬取原创力文档并转换成pdf(部分版)

python爬取原创力文档并且保存为pdf文件&#xff08;部分版保姆级 文章目录 *python爬取原创力文档并且保存为pdf文件*&#xff08;部分版保姆级 前言一、爬取背景&#xff1f;二、正&#xff08;bai&#xff09;式&#xff08;piao&#xff09;操作1.安装库2.导入项目所需库3.…

java将json字符串转换成json数组

有些时候我们需要将json字符串转换成数组&#xff0c;并且只取一些属性值进行下一个方法的赋值&#xff0c;这样就涉及到了json字符串的转换了&#xff0c; json字符串有两种形式&#xff0c;一种是以{A,B,C}&#xff0c;一种是[{A},{B},{C}]。但是很多时候是这两种的结合。 …

js 数组、对象转json 以及json转 数组、对象

js 数组、对象转json 以及json转 数组、对象 1、JS对象转JSON 方式&#xff1a;JSON.stringify(obj) var json {"name":"iphone","price":666}; //创建对象&#xff1b; var jsonStr JSON.stringify(json); //转为JSON字符串 console.lo…

数组和JSON之间的格式转换

数组和JSON之间的格式转换 主要代码&#xff1a; const a JSON.stringify(jsonStrings) //object转jsonconst c JSON.parse(a) //json转object标志性代码&#xff1a; const jsonStrings [1, 2, 3]// {"bar": "property", "baz": 3}cons…

如何将JSONArray转为String数组

这里我们讲得JSONArray是阿里巴巴的fastjson 依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.78</version></dependency>直接上代码吧&#xff0c;并不复杂 public static …

手把手教你升级车载导航

【维保】手把手教你升级车载导航 车主档案 车主&#xff1a;深蓝网事 车系&#xff1a;15款新明锐1.4T逸俊版 城市规划每天都在紧张的进行着。 高速公路到达收费年限以后也会在继续修建然后接着收费。 自驾游的时候&#xff0c;面对比较另类的交叉路口不知道怎么走。 总结起来…

如何修复iPhone出现的白苹果问题

iPhone出现白苹果问题&#xff0c;这需要对手机进行系统修复&#xff0c;我们可以带着手机去苹果直营店解决问题&#xff0c;或者也可以自己在家使用iTunes进行恢复操作&#xff08;数据可能会被擦除&#xff09;或者也可以用第三方软件进行解决&#xff0c;我们以奥凯丰 苹果修…

短信恢复 android,苹果手机短信恢复:安卓+苹果手机短信恢复教程,必须收藏!...

原标题&#xff1a;苹果手机短信恢复&#xff1a;安卓苹果手机短信恢复教程&#xff0c;必须收藏&#xff01; 手机短信怎么恢复&#xff1f;日常生活中&#xff0c;大家或多或少会不小心把删除一些不必要的短信&#xff0c;比如注册某软件的验证码的短信&#xff0c;面试通知地…

苹果系统自带的计算机怎么恢复出厂设置,苹果电脑恢复出厂化设置的教程_苹果电脑怎样恢复出厂系统-win7之家...

在使用苹果电脑的时候&#xff0c;可能因为一些原因导致电脑出现系统崩溃或者无法正常启动的故障&#xff0c;很多用户可能会通过重置系统来解决&#xff0c;其实我们可以使用自带的恢复出厂功能来进行恢复&#xff0c;那么苹果电脑怎样恢复出厂系统呢&#xff1f;针对这个问题…