Python爬虫连载8-JS加密(一)
2024-09-05 11:06:43
一、JS加密
1.有的反爬虫策略采用js对需要传输的数据进行加密处理。
2.经过加密,传输的就是密文
3.加密函数或者过程一定是在浏览器完成,也就是一定会把代码(js代码)暴露给使用者
4.通多阅读加密算法,就可以模拟出加密过程,从而达到破解。
5.举一个案例
""" 破解有道词典 """ from urllib import request,parse def youdao(key): url = "http://www.fanyi,com/translate_o?smartresult=dict&smartresult=rule" data = { "i":"girl", "from":"AUTO", "to":"AUTO", "smartresult":"dict", "client":"fanyideskweb", "salt":"", "sign":"b8a55a436686cd89873fa46514ccedbe", "doctype":"json", "version":"2.1", "keyfrom":"fanyi.web", "action":"FY_BY_REALTIME", "typeResult":"False" } data = parse.urlencode(data).encode() headers = { "Connection": "keep - alive", "Content - Encoding":"gzip", "Content - Language": "zh - CN", "Content - Type": "text / html", "charset":"utf - 8", "Date": "Mon, 17 Feb 2020 15: 23:36 GMT", "Server":"nginx", "Transfer - Encoding": "chunked", "Vary": "Accept - Encoding" } req = request.Request(url=url,data=data,headers=headers) rsp = request.urlopen(req) html = rsp.read().decode() print(html) if __name__ == "__main__": # for i in range(10000): # print(sum) youdao(45)
二、源码
Reptitle8_1_JSEncryption.py
https://github.com/ruigege66/PythonReptile/blob/master/Reptitle8_1_JSEncryption.py
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
最新文章
- 比较完整的WebView的用法
- JavaScript 作用域知识点梳理
- EF实体框架之CodeFirst一
- 【HDU 4408】Minimum Spanning Tree(最小生成树计数)
- EffectiveJava——用函数对象表示策略
- js:数据结构笔记9--二叉树
- [原创]Keys的基本操作总结,判断Keys中是否存在Keys.Control|Keys.Alt,移除Keys中的部分键值。
- iOS 进阶 第十九天(0423)
- 第一个leapmotion的小游戏
- CDATA
- 感知机(perceptron)
- 操作数据表中的记录——SELECT (where表达式、GROUP BY、HAVING、LIMIT)
- 框架 之 -------Spring
- SQL Server的Linked Server支持使用SEQUENCE吗?
- 日常开发工作常用linux命令
- 「2017 Multi-University Training Contest 7」2017多校训练7
- servelet基础
- pythone函数基础(7)第三方模块学习
- angular下载安装
- PHP后门的eval类和system类 函数到底有哪些区别