Python实现JS解密并爬取某音漫客网站


Posted in Python onOctober 23, 2020

首先打开网站

https://www.zymk.cn/1/37988.html

打开开发者工具

Python实现JS解密并爬取某音漫客网站

选择XHR标签页,没有找到什么

再查看一下这些图片的URL值

http://mhpic.xiaomingtaiji.net/comic/D%2F%E6%96%97%E7%A0%B4%E8%8B%8D%E7%A9%B9%E6%8B%86%E5%88%86%E7%89%88%2F20%E8%AF%9D%2F1.jpg-zymk.middle.webp

尝试搜索图片元素

Python实现JS解密并爬取某音漫客网站Python实现JS解密并爬取某音漫客网站

发现有一个js文件,打开搜索

Python实现JS解密并爬取某音漫客网站

发现这里有一个疑点,这不是html里面的字段吗,那么 “i.getPicUrl(e)” 不就是那个图片的URL的值了吗

在这里下一个断点,走你

Python实现JS解密并爬取某音漫客网站

果然,这个就那个图片URL生成的切入点,现在就是看调用栈,找到这个函数的起点,点击右侧的 ”e.init“,这里有一个setInitData函数,从名字来看,应该就是设置初始数据的地方,在这里下一个断点,进去看看

Python实现JS解密并爬取某音漫客网站

这里有一个this.imgpath,这个应该就是图片的URL值了,点击F10,再单步调式,来到了charcode函数

Python实现JS解密并爬取某音漫客网站

进去看看,这里应该就是加密函数了

Python实现JS解密并爬取某音漫客网站

这里一步步调式,不要着急,来到了这里

Python实现JS解密并爬取某音漫客网站

继续单步调式,在第二次打开这么VM文件的时候,”__cr.imgpath“这个看起来很熟悉呀

Plain Text
"L-:N-M>-A>-A?-M?-I8-J<-M@-@J-@L-M?-IA-JA-M>-@J-@>-M=-@@-@>-M?-@A-@@-:N:8-M@-IN-AL-:N"

打开页面源代码,就在这里啦,不仅仅有图片的URL加密值,还有其他数据,这些都是在后面图片URL拼接需要使用到的

Python实现JS解密并爬取某音漫客网站

现在我们再重新看看那个加密函数,它无非就是遍历那个加密值的每个字符,获取其Unicode值,再与__cr.chapter_id进行相关运算,然后再得到的Unicode数值返回字符

现在我们可以用python仿写这个算法

Python实现JS解密并爬取某音漫客网站

接下就是平常get请求获取必要的数据了,通过正则获取元素,拼接,以下是源码

Python实现JS解密并爬取某音漫客网站 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python删除指定目录下过期文件的2个脚本分享
Apr 10 Python
python使用post提交数据到远程url的方法
Apr 29 Python
python使用matplotlib绘图时图例显示问题的解决
Apr 27 Python
Python3.6简单操作Mysql数据库
Sep 12 Python
详解django实现自定义manage命令的扩展
Aug 13 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
Sep 25 Python
python系列 文件操作的代码
Oct 06 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
Jan 20 Python
浅谈python累加求和+奇偶数求和_break_continue
Feb 25 Python
如何学习Python time模块
Jun 03 Python
python音频处理的示例详解
Dec 23 Python
python数字图像处理:图像简单滤波
Jun 28 Python
解决Python 写文件报错TypeError的问题
Oct 23 #Python
python 利用Pyinstaller打包Web项目
Oct 23 #Python
python logging模块的使用详解
Oct 23 #Python
Pycharm自动添加文件头注释和函数注释参数的方法
Oct 23 #Python
Python中免验证跳转到内容页的实例代码
Oct 23 #Python
python对 MySQL 数据库进行增删改查的脚本
Oct 22 #Python
Python提取视频中图片的示例(按帧、按秒)
Oct 22 #Python
You might like
《星际争霸》各版本雷兽特点图文解析 雷兽不同形态一览
2020/03/02 星际争霸
PHP 代码规范小结
2012/03/08 PHP
解析PHP提交后跳转
2013/06/23 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
2016/03/17 PHP
PHP 实现base64编码文件上传出现问题详解
2020/09/01 PHP
Js 获取当前日期时间及其它操作实现代码
2021/03/04 Javascript
javascript 函数调用规则
2009/08/26 Javascript
微信小程序 地图定位简单实例
2016/10/14 Javascript
vue实现可增删查改的成绩单
2016/10/27 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
React组件中的this的具体使用
2018/02/28 Javascript
vue判断input输入内容全是空格的方法
2018/03/02 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
JavaScript中 ES6变量的结构赋值
2018/07/10 Javascript
vue axios请求频繁时取消上一次请求的方法
2018/11/10 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
微信小程序后端(java)开发流程的详细步骤
2019/11/13 Javascript
d3.js实现图形拖拽
2019/12/19 Javascript
javascript Canvas动态粒子连线
2020/01/01 Javascript
JS实现滑动插件
2020/01/15 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
[08:44]和酒神一起战斗 DOTA2教你做大人
2014/03/27 DOTA
Python中处理字符串之islower()方法的使用简介
2015/05/19 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
Python3.5运算符操作实例详解
2019/04/25 Python
常用python爬虫库介绍与简要说明
2020/01/25 Python
Python内存映射文件读写方式
2020/04/24 Python
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
微软加拿大官方网站:Microsoft Canada
2019/04/28 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
司法建议书范文
2014/05/13 职场文书
大学迎新标语
2014/06/26 职场文书
出资证明书范本(标准版)
2014/09/24 职场文书
python保存图片的四个常用方法
2022/02/28 Python