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中统计函数运行耗时的方法
May 05 Python
Python使用xlrd模块操作Excel数据导入的方法
May 26 Python
Python 常用 PEP8 编码规范详解
Jan 22 Python
Python单例模式实例详解
Mar 01 Python
Python读写docx文件的方法
May 08 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 Python
Python3中bytes类型转换为str类型
Sep 27 Python
python环形单链表的约瑟夫问题详解
Sep 27 Python
python异步实现定时任务和周期任务的方法
Jun 29 Python
详解Pandas之容易让人混淆的行选择和列选择
Jul 10 Python
Python如何输出百分比
Jul 31 Python
如何在C++中调用Python
May 21 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
PHP中比较两个字符串找出第一个不同字符位置例子
2014/04/08 PHP
基于PHP实现假装商品限时抢购繁忙的效果
2015/10/16 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
JS中dom0级事件和dom2级事件的区别介绍
2016/05/05 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
微信小程序常用简易小函数总结
2019/02/01 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
Python 自动刷博客浏览量实例代码
2017/06/14 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
ProBikeKit英国:在线公路自行车之家
2017/02/10 全球购物
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
初中三年学生的学习自我评价
2013/11/13 职场文书
函授本科个人自我鉴定
2014/03/25 职场文书
幼儿园大班家长评语
2014/04/17 职场文书
法语专业求职信
2014/07/20 职场文书
大型公益活动策划方案
2014/08/20 职场文书
食品质检员岗位职责
2015/04/08 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
新闻稿怎么写
2015/07/18 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
css3新特性的应用示例分析
2022/03/16 HTML / CSS