python爬虫中文转成一个字符串类型的unicode字符串(%u)的问题
本文主要介绍某些爬虫在遇到
%u627E%u4E0A%u95E8
这种类似unicode编码的str
类型数据时,无法直接使用decode('unicode-escape')
方法来转成中文时的一个转码的解决方法。
例:
k后面的值即为搜索的关键字
value为
%u627E%u4E0A%u95E8
- 它只不过是将 \ (反斜杠) 换成了 %( 百分号)。
那么问题来了,我们如何将一个str类型的中文,转换成另一个str类型的%u627E%u4E0A%u95E8 编码呢?
一、中文编码成%u类型编码
- 将一段中文转成unicode编码
print('找来了'.encode('unicode-escape')) b'\\u627e\\u6765\\u4e86'
- 转换完成后的结果是一个bytes类型,我们将其转换为str类型
print('找来了'.encode('unicode-escape').decode()) \u627e\u6765\u4e86
再用
%
百分号替换\\
双反斜杠后,就得到了转码之后的unicode类型字符串(%u****)print('找来了'.encode('unicode-escape').decode().replace('\\','%')) %u627e%u6765%u4e86
二、unicode类型的字符串转换成中文
只需要将这三步给逆向回去,也就可以将一段unicode类型的str转换成中文了。
print('%u627e%u6765%u4e86'.replace('%','\\').encode().decode('unicode-escape'))
找来了
这篇文章pyhon3爬虫爬取飞卢网小说(仅供学习使用)飞卢小说 效果演示:
请输入小说的名字:找来了
https://b.faloo.com/l/0/1.html?t=1&k=%u627e%u6765%u4e86
python爬虫中文转成一个字符串类型的unicode字符串(%u)的问题的更多相关文章
- python爬虫中文乱码解决方法
python爬虫中文乱码 前几天用python来爬取全国行政区划编码的时候,遇到了中文乱码的问题,折腾了一会儿,才解决.现特记录一下,方便以后查看. 我是用python的requests和bs4库来实 ...
- Unicode字符串和非Unicode字符串
什么是Unicode? Unicode(统一码.万国码.单一码)是计算机科学领域里的一项业界标准,包括字符集.编码方案等.Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每 ...
- 字符串类型 str-->转义符-->字符串格式化-->占位符-->综合案例
# ###字符串类型 str """ 用引号起来的就是字符串 三种引号:单引号 双引号 三引号 """ """ ...
- python爬虫中文网页cmd打印出错问题解决
问题描述 用python写爬虫,很多时候我们会先在cmd下先进行尝试. 运行爬虫之后,肯定的,我们想看看爬取的结果. 于是,我们print... 运气好的话,一切顺利.但这样的次数不多,更多地,我们会 ...
- python爬虫之路——变量和变量类型
变量类型: ①单值:int ②多值:数组 ③复杂:类 变量类型:就是变量的数据结构,表示这个变量所代表的内容的格式是怎样的. (多值)四种基本数据结构: 列表,字典,元组,集合 列表: ①元素可变, ...
- Python爬虫中文小说网点查找小说并且保存到txt(含中文乱码处理方法)
从某些网站看小说的时候经常出现垃圾广告,一气之下写个爬虫,把小说链接抓取下来保存到txt,用requests_html全部搞定,代码简单,容易上手. 中间遇到最大的问题就是编码问题,第一抓取下来的小说 ...
- Python 开发基础-字符串类型讲解(字符串方法)-2
s = 'Hello World!'print(s.index('W',0,9))#返回某个字母的索引值,本例返回6.没有该字母会报错,和FIND比较像,find不会报错,没找到会返回-1print( ...
- python爬虫中文乱码问题(request方式爬取)
https://blog.csdn.net/guoxinian/article/details/83047746 req = requests.get(url)返回的是类对象 其包括的属性有: r ...
- Python 开发基础-字符串类型讲解(字符串方法)-1
s = 'Hello World!' print(s.capitalize()) #第一个字母大写,其余小写# 输出:Hello world!print(s.swapcase())#大写变小写,小写变 ...
- python之字符串类型及其操作
1.1字符串类型的表示 字符串是字符的序列表示,可以由一对单引号('). 双引号(")或三引号(’")构成.其中,单引号和双引号都可以表示单行字符串,两者作用相同.使用单引号时,双 ...
随机推荐
- 【K哥爬虫普法】网盘用的好,“艳照门”跑不了
我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K哥特设了"K哥爬虫普法"专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知 ...
- Flask闪现
目录 九.闪现 9.1 什么是闪现? 九.闪现 9.1 什么是闪现? -设置:flash('aaa') -取值:get_flashed_message() - -假设在a页面操作出错,跳转到b页面,在 ...
- 基于go-restful实现的PoW算力池模型
最开始知道区块链是在17年初,当时因为项目压力不大,开始研究比特币源码.对于比特币中提到的Proof of Work,当时只是一眼带过,并没有详细查看过相关的代码.在最近的项目中,考虑到性能的要求,需 ...
- vim 从嫌弃到依赖(22)——自动补全
这篇文章我们将讨论 vim 自带的自动补全功能.当然,针对自动补全功能有许多好用的插件,但是了解vim自带的功能有助于我们更好的用来插件的补全功能.因为我见过有的配置文件将插件的功能配置的比原有的更难 ...
- SqlSugar多库/多租户
1. 多库和多租户 如果是接口ISugarClient先看一下标题6,看完在看这儿 1.1 固定多数据库模式 数据库数量是固定的一般在声明的全部加上 //通过ConfigId进行数据库区分 var d ...
- C++ 通过SQLite实现命令行工具
本文介绍了一个基于 C++.SQLite 和 Boost 库的简单交互式数据库操作 Shell.该 Shell 允许用户通过命令行输入执行各种数据库操作,包括添加.删除主机信息,设置主机到特定主机组, ...
- iOS安装包瘦身总结
前段时间APP要做资源压缩,需要把项目中使用的所有图片资源进行压缩,以减小APP安装包体积.想着既然压缩APP资源是为了缩小APP体积,那么来一遍APP整体瘦身流程并做一下总结吧. 整个过程分三步: ...
- Dart常用核心知识
Dart简述 Dart 是一个为全平台构建快速应用的客户端优化的编程语言,免费且开源. Dart是面向对象的.类定义的.单继承的语言.它的语法涵盖了多种语言的语法特性,如C,JavaScirpt, J ...
- 练习(java):关于自增运算的练习
//练习3: byte bb1 = 127; bb1++; System.out.println("bb1 = " + bb1);//-128 bb1--; System.out. ...
- List大陷阱,这个问题,造成我的很多问题,我靠,今天才发现MyList.Duplicates := dupIgnore;不sort就无效。
procedure TfrmMain.Button1Click(Sender: TObject); var MyLogisticsCompanyApi: TLogisticsCompanyApi; b ...