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中的Cookie模块使用
Jul 06 Python
Python手机号码归属地查询代码
May 04 Python
pandas按若干个列的组合条件筛选数据的方法
Apr 11 Python
Python实现的爬取网易动态评论操作示例
Jun 06 Python
pycharm 实现显示project 选项卡的方法
Jan 17 Python
Django框架使用内置方法实现登录功能详解
Jun 12 Python
python字典排序的方法
Oct 12 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
Python切割图片成九宫格的示例代码
Mar 10 Python
python实现数字炸弹游戏程序
Jul 17 Python
Python Opencv轮廓常用操作代码实例解析
Sep 01 Python
python和opencv构建运动检测器的实现
Mar 03 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
浅谈mysql_query()函数的返回值问题
2016/09/05 PHP
Firefox outerHTML实现代码
2009/06/04 Javascript
初试jQuery EasyUI 使用介绍
2010/04/01 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
javascript类型转换使用方法
2014/02/08 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
第四章之BootStrap表单与图片
2016/04/25 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
2016/06/06 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
微信小程序 用户数据解密详细介绍
2017/01/09 Javascript
简单的渐变轮播插件
2017/01/12 Javascript
利用Vue v-model实现一个自定义的表单组件
2017/04/27 Javascript
docker中编译nodejs并使用nginx启动
2017/06/23 NodeJs
微信、QQ、微博、Safari中使用js唤起App
2018/01/24 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
微信小程序云开发实现云数据库读写权限
2019/05/17 Javascript
nodejs实现获取本地文件夹下图片信息功能示例
2019/06/22 NodeJs
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
[08:56]DOTA2-DPC中国联赛2月23日Recap集锦
2021/03/11 DOTA
python字符串对其居中显示的方法
2015/07/11 Python
Python 基于Twisted框架的文件夹网络传输源码
2016/08/28 Python
python实现字符串连接的三种方法及其效率、适用场景详解
2017/01/13 Python
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
python统计中文字符数量的两种方法
2019/01/31 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
班班通项目实施方案
2014/02/25 职场文书
工艺工程师岗位职责
2014/03/04 职场文书
毕业典礼演讲稿
2014/05/13 职场文书
重温入党誓词主持词
2015/06/29 职场文书
拔河比赛新闻稿
2015/07/17 职场文书
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript