Python爬虫:js的btoa和atob和pythonBase64编码解码比对分析
比对js和py的Base64编码解码,探求一个共通之处
javascript代码
- 对英文字符进行base64编码解码
var str = 'javascript';// 编码
btoa(str) // "amF2YXNjcmlwdA=="// 解码
atob("amF2YXNjcmlwdA==") // "javascript"
- 对中文字符进行base64编码解码
var str = "China,中国"btoa(str)
/*
VM156:1 Uncaught DOMException: Failed to execute 'btoa' on 'Window':
The string to be encoded contains characters outside of the Latin1 range.
*/// 先对字符串进行编码
encodeURIComponent(str) // "China%EF%BC%8C%E4%B8%AD%E5%9B%BD"// 编码
btoa(encodeURIComponent(str)) // "Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ="// 解码
decodeURIComponent(atob("Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ=")) // "China,中国"
python3代码
- 对英文字符进行base64编码解码
import base64name = "javascript"# 编码
base64.b64encode(name.encode()) # b'amF2YXNjcmlwdA=='# 解码
base64.b64decode(b'amF2YXNjcmlwdA==').decode() # javascript
- 对中文字符进行base64编码解码
name = "China,中国"# 编码
base64.b64encode(name.encode()) # b'Q2hpbmHvvIzkuK3lm70='# 解码
base64.b64decode(b'Q2hpbmHvvIzkuK3lm70=').decode() # China,中国
总结:
js和py3对英文的处理方式基本一致,编码结果也一样
发现,js对中文编码会报错,py对中文可以直接编码
按照js的思路,先按照URI的编码方式将字符编码
from urllib.request import quote, unquotename = "China,中国"# 先对文字进行url方式编码
quote(name) # 'China%EF%BC%8C%E4%B8%AD%E5%9B%BD'# 编码
base64.b64encode(quote(name).encode())
# b'Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ='# 解码
unquote(base64.b64decode(b'Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ=').decode())
# China,中国
总结:
语言 | 编码 | 解码 |
---|---|---|
javascript | window.btoa(encodeURIComponent(s)) | decodeURIComponent(window.atob(b)) |
pyhton | base64.b64encode(quote(s).encode()) | unquote(base64.b64decode(b).decode()) |
其中:
s 表示字符串
b 表示编码后的字符
这样,js和python就可以实现相同的Base64编码解码,可以用于前端代码解码,将js代码转换为python代码
参考
- javascript 使用btoa和atob来进行Base64转码和解码
- Python编程:URL网址链接中的中文编码与解码
- 简单明了区分escape、encodeURI和encodeURIComponent
Python爬虫:js的btoa和atob和pythonBase64编码解码比对分析相关推荐
- Python爬虫JS解密详解,学会直接破解80%的网站(一)!!!
文章目录 1.网页查看 2.有道翻译简单实现源码 3.JS解密(详解) 4.python实现JS解密后的完整代码 4.1.实现效果 5.JS解密后完整代码升级版 5.1.实现效果 CSDN独家福利降临 ...
- **超防 ja3+加速乐(三种加密(md5,sha1,sha256)) 实战(python爬虫js逆向)
**超防 加速乐+ja3 实战(python爬虫js逆向) 地址 aHR0cHM6Ly93d3cuaGVmZWkuZ292LmNuL2NvbnRlbnQvY29sdW1uLzY3OTQ4MTE/cGF ...
- 腾讯爬虫python_【Python爬虫+js逆向】Python爬取腾讯漫画!
前一段假期期间,博主已经自学完了Python反爬虫的相关内容,面对各大网站的反爬机制也都有了一战之力.可惜因实战经验不足,所以总体来说还是一个字--菜.前两天,在学习并实战爬取了博主最爱看的腾讯动漫后 ...
- Python爬虫-JS破解openlaw加密cookie
简单介绍: 最近做研究js混淆加密,以openlaw作为网站进行学习研究.openlaw主页裁判文书栏中有大量案件信息,同时能够为客户提供标准的法律专业知识以及智慧和经验成果.过程中遇到一些反爬措施, ...
- python爬虫JS逆向加密破解之百度翻译
最近在从基础学习JS逆向,来分享一下百度翻译JS逆向的整个过程,也有助于自己加深记忆. JS逆向可以说是爬虫工程师必备的知识点了,但是如果对前端知识不够了解还是学起来很有难度的. 想学习的话可以在B站 ...
- python爬虫js逆向加密,Web爬虫处理参数js加密、js混淆、js逆向
中国空气质量在线监测平台(https://www.aqistudy.cn/html/city_detail.html)在众多的练习中,关闭了前台数据信息的展示,也就是说现在网页是这样的: 但我们主要学 ...
- python爬虫JS逆向:X咕视频密码与指纹加密分析
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:煌金的咸鱼 PS:如有需要Python学习资料的小伙伴可以加点击下方 ...
- python爬虫JS逆向之人口流动态势大数据
今天学习JS解密的网站是:人口流动态势大数据,这是网址:https://unicom_trip.133.cn/city/?system=cjfcts. 在做JS解密的时候,我们一定要记住一个方法:缺什 ...
- Python 爬虫js加密破解(四) 360云盘登录password加密
登录链接:https://yunpan.360.cn/mindex/login 这是一个md5 加密算法,直接使用 md5加密即可实现 本文讲解的是如何抠出js,运行代码 第一部:抓包 如图 第二步: ...
最新文章
- POJ 2778 AC自己主动机+矩阵幂 不错的题
- linux系统reboot怎么退出,Linux系统肿么退出?
- 《Unity3D-控制角色受伤的时候身体颜色变化的代码》
- 将rm -f or -rf 删除命令改为放入回收站,并可通过命令将其撤回
- 自己封装的ASP.NET的SQLITE数据库的操作类
- sql server 事务_如何使用显式SQL Server事务回滚
- 知道python_看完这篇文章,你就知道Python是什么?
- async与defer
- Java--工厂模式
- Office Open XML 文档格式(转)
- 最新图解 FileZilla Server + FlashFXP 快速傻瓜式搭建FTP服务 1
- 大屏一体机!奥可视新品A5亮点浅析
- 为什么我不断收到Java错误:错误:可以找到或加载类Dint?
- 迁移学习VGG16实现猫狗大战
- 什么是腾讯会议?腾讯云会议应用讲解
- 【物联网那些事儿】18 大物联网操作系统,Raspbian Pi、Ubuntu Core、Windows 10 IoT、Micropython、OpenWrt ....你用过哪几个?
- C++ 菱形字母金字塔
- idea批量修改变量快捷键mac_IDEA 快捷使用指南
- python强势来袭-18-列表循环高级操作
- 花呗临时额度使用规则是什么?临时额度怎么取消?