Python实现JS解密并爬取网站

Python实现JS解密并爬取网站?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

打开开发者工具

 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解密并爬取网站”> <img src=

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

 Python实现JS解密并爬取网站

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

在这里下一个断点,走你

 Python实现JS解密并爬取网站

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

 Python实现JS解密并爬取网站

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

 Python实现JS解密并爬取网站

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

 Python实现JS解密并爬取网站

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

 Python实现JS解密并爬取网站

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

纯文本
“L -: N-M> -A> -A& # 63; -M& # 63; -I8-J<-M@ -@J -@L-M& # 63; -IA-JA-M> -@J -@> - m=-@@ -@> -M& # 63; -@A -@@ -:护士:8-M@-IN-AL -: N"

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

 Python实现JS解密并爬取网站

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

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

 python实现JS解密并爬取网站

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

 python实现JS解密并爬取网站”>,看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。</p><h2 class=Python实现JS解密并爬取网站