当前位置: 首页 > news >正文

网站建设信息科技公司WordPress数据多了会卡吗

网站建设信息科技公司,WordPress数据多了会卡吗,wordpress qqoq主题,金蝶进销存软件免费版requests是一个较为简单易用的HTTP请求库,是python中编写爬虫程序最基础常用的一个库。 而【中文乱码】问题,是最常遇到的问题,对于初学者来说,是很困恼的。 本文将详细说明,python中使用requests库编写爬虫程序时&…

requests是一个较为简单易用的HTTP请求库,是python中编写爬虫程序最基础常用的一个库。
而【中文乱码】问题,是最常遇到的问题,对于初学者来说,是很困恼的。
本文将详细说明,python中使用requests库编写爬虫程序时,出现【中文乱码】的原因,及常见3种解决办法。

一、【中文乱码】情况及出现原因

(一)【中文乱码】举例

首先,本文的【中文乱码】情况,指的是原网页中的中文内容在使用requests获取后,中文完全无法识别的情况,区别于\x、\u等编码情况。如下图中的例子:
在这里插入图片描述
注:requests.get()方法,返回一个response对象,其存储了服务器响应的内容。

(二)出现【中文乱码】原因

导致上图中【中文乱码】的原因:
使用requests库时,选择使用的文本响应方法不合适,且没有在代码中添加设置合适的编码,以致于使用【response.text】自动获取到的网页编码,与实际网页的编码不一致,进而产生【中文乱码】。
使用requests库时,可能已经形成了一个习惯,常用【response.text】进行文本响应,而【response.content】常用于图片、视频等。
这两者,最大的一个区别就是:
1、【response.text】会自动根据HTTP头部去推测网页的编码,解码并返回解码后的文本。
2、【response.content】不会解码,直接以二进制形式返回。
两种文本响应方法,如下表:

方法释义
response.text服务器响应的内容,会自动根据响应头部的字符编码进行解码。根据HTTP头部对响应的编码做出有根据的推测,推测文本编码。返回类型:str;常用于:响应文本
response.content字节方式的响应体,不会根据HTTP头部对响应的编码做出有根据的推测。返回类型:bytes(二进制);常用于:图片、视频

二、3种处理【中文乱码】的方法

(一)修改网页文本获取的方法

据上,已知原因是获取文本的方法不对,显然最简单、直接的方法就是:
直接将response.text换成response.content
在这里插入图片描述

(二)手动指定网页编码、再提取文本

据上,已知使用【response.text】时,会解码返回,但解码又与原网页编码不一致,而导致【中文乱码】。
鉴于response也提供了【response.encoding】,来指定返回后的网页编码。
所以解决方法可以是:
手动指定网页编码,使之得到正常的文本
该方法的较第一种,相对麻烦一点:
首先,需要确认原网页的实际编码,然后根据网页实际编码做出修改。
具体步骤如下:
1、查看网页编码
查看网页编码,有以下两种方式:
(1)直接打开网页源码(html)【Ctr+U】,查看编码:【charset】的值。
在这里插入图片描述
(2)使用response的encoding、apparent_encoding,得到网页编码。
encoding、apparent_encoding两者最大的区别:
encoding是从header中去提取,而apparent_encoding是从网页源码去解析,apparent_encoding得到的结果更准确。
详细如下表:

属性释义
response.encoding从网页响应的header中,提取charset字段中的编码。若header中没有charset字段,则默认为ISO-8859-1编码模式,ISO-8859-1编码无法解析中文,这也是中文乱码的原因。
response.apparent_encoding从网页的内容中(html源码)中分析网页编码的方式。所以apparent_encoding比encoding更加准确,获取到的才是原网页的实际编码。

以(1)中网址为例,网页的真实编码为【GB2312】。
使用encoding、apparent_encoding两种方法,所得的结果是不一致的,apparent_encoding才是原网页实际编码。如下图:
在这里插入图片描述
2、手动指定文本编码
根据上述方法,获得原网页的实际编码后,手动在代码中指定文本编码格式,即可解决【中文乱码】问题。
写法有2种,可任选其一,如下图:
在这里插入图片描述

(三)在文本获取后对【中文乱码】进行转码

除了以上2种解决办法外,还可以使用pyhton自带的编码方法,把【中文乱码】的内容再次进行转码,转换为成网页实际的编码格式即可。
转码方式:encode(‘iso-8859-1’).decode(‘编码格式’)
如上面例子中,网页编码实际为“gb2312”,代码可修改为:
在这里插入图片描述
以上就python使用requests库编写爬虫时,出现【中文乱码】的原因,及常见的三种处理方法,可供参考。

-end

http://www.yayakq.cn/news/211354/

相关文章:

  • 今年的公需课在哪个网站做做网站确定什么主题好
  • php网站开发原理温州做网站的
  • 上海市500强企业名单网站建设及推广优化
  • 重庆网站开发设计公司电话wordpress在哪里输入统计代码
  • 百度站长反馈网站设计公司报价
  • 哪个网站可以做蛋白质的跨膜图太平洋车险报价入口
  • 微信 分享网站开发上海网站建设公公司
  • 能支持微信公众号的网站建设教程网wordpress
  • 广丰做网站公司网上接网站开发类订单的平台
  • 用自己主机做网站视频服务器搭建网站环境
  • 做网站的快捷方式代码做网站怎么电话约客户
  • 我的世界电影怎么做的视频网站启博微分销
  • 上海金融网站制作公网页制作图片
  • 做网站公司有哪些专业网站制作的费用
  • 深圳公明网站建设公司外贸单在哪些网站做
  • 我国婚纱网站建设的现状福州网站建设找时时在网络
  • wordpress后台加站点图标机械厂网站建设
  • 增城有什么网站做招聘的网站空间建设
  • seo学习网站中国外发加工网app
  • 如何把做的网站放到百度上织梦 友情链接 网站名 分隔符
  • 临沂网站建设推广win7 iis配置wordpress
  • 商务网站建设学期总结网站快排是怎么做的
  • 医药网站文案编辑是怎么做的浏览器兄弟懂的拿走不谢2021
  • dw建设网站的代码模板wordpress 新添加页面模板
  • 系统与网站的区别wordpress采集商品
  • 青岛鑫隆建设集团网站网站关键词分隔符
  • 个人网站建设一般流程免费软件站
  • 直播类网站开发开发公司五一节前安全生产工作部署会
  • 网络维护网站国际大新闻最新消息
  • 做网站收费 知乎百度手机助手下载正版