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的字节编译详解
Sep 20 Python
Python设计模式之工厂模式简单示例
Jan 09 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
Mar 08 Python
python 输出上个月的月末日期实例
Apr 11 Python
Python中循环引用(import)失败的解决方法
Apr 22 Python
python远程连接服务器MySQL数据库
Jul 02 Python
python2 与 python3 实现共存的方法
Jul 12 Python
Python2和Python3的共存和切换使用
Apr 12 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
Nov 15 Python
Python异常继承关系和自定义异常实现代码实例
Feb 20 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
May 17 Python
python 制作python包,封装成可用模块教程
Jul 13 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
漂亮但不安全的CTB
2006/10/09 PHP
php discuz 主题表和回帖表的设计
2009/03/13 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
Zend Framework连接Mysql数据库实例分析
2016/03/19 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
php简单实现单态设计模式的方法分析
2017/07/28 PHP
php实现微信支付之退款功能
2018/05/30 PHP
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
js window对象属性和方法相关资料整理
2015/11/11 Javascript
原生javascript实现图片无缝滚动效果
2016/02/12 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
2017/01/11 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
简单实现js进度条加载效果
2020/03/25 Javascript
VueJs 搭建Axios接口请求工具
2017/11/20 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
2019/08/04 Javascript
JavaScript 常见的继承方式汇总
2020/09/17 Javascript
Python科学计算环境推荐——Anaconda
2014/06/30 Python
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
python 将字符串转换成字典dict的各种方式总结
2018/03/23 Python
Python读写zip压缩文件的方法
2018/08/29 Python
python读取指定字节长度的文本方法
2019/08/27 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
2019/12/10 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
HTML5 在canvas中绘制文本附效果图
2014/06/23 HTML / CSS
浅谈HTML5新增和废弃的标签
2019/04/28 HTML / CSS
Ratchet 模态框的实现
2020/08/19 HTML / CSS
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
预备党员思想汇报范文
2014/01/11 职场文书
作文批改评语大全
2014/04/23 职场文书
结对共建协议书
2014/08/20 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书