码迷,mamicode.com
首页 > 编程语言 > 详细

Python爬虫练习:JS解密,爬取某音漫客网站数据

时间:2020-10-12 20:37:51      阅读:29      评论:0      收藏:0      [点我收藏+]

标签:regexp   选择   标签页   data   字符   exp   com   ddl   ima   

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以下文章来源于IT技术喵 ,作者 开瓶儿

首先打开网站

https://www.zymk.cn/1/37988.html
技术图片

 

技术图片

 

打开开发者工具

技术图片

 

选择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

可以发现URL前面的“http://mhpic.xiaomingtaiji.net/comic/”和后面的“.jpg-zymk.middle.webp“是不变的,那么就是要找到中间的值了

 

尝试搜索图片元素

技术图片

 

技术图片

 

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

技术图片

 

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

在这里下一个断点,走你

技术图片

 

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

技术图片

 

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

技术图片

 

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

技术图片

 

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

技术图片

 

继续单步调式,在第二次打开这么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拼接需要使用到的

技术图片

 

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

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

技术图片

 

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

技术图片

Python爬虫练习:JS解密,爬取某音漫客网站数据

标签:regexp   选择   标签页   data   字符   exp   com   ddl   ima   

原文地址:https://www.cnblogs.com/hhh188764/p/13803504.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!