资讯专栏INFORMATION COLUMN

豆瓣读书搜索页的window.__DATA__的解密

booster / 1329人阅读

摘要:而且我觉得比上次的知乎的还难点,但是可能就只有搜索页是加密的,其他的直接找全部图书的都是直接放在源码的。写在最后这个豆瓣解密可以说不难,也可以说有点难,因为需要扣很多,如果你能看懂他相关的解密方法就不需要扣,就会很容易了。

上次发了破解知乎模拟登陆的最新版之后,很多人看了都说好,唯独没人给我点赞,以后还是麻烦大家,如果看到对你有用的文章,可以点点赞,支持下作者哈。

还有,知乎模拟登陆的代码已给出,github地址为:https://github.com/SergioJune...

希望各位大佬给点个star哈,以后会持续更新,将我的每个破解的网站源码都放上去,如果你也有什么解不开的网站,欢迎去提issue,我会尽我能力去破解,后分享给大家。

这次给大家分享的是豆瓣的读书搜索页

https://book.douban.com/subje...

以前还以为豆瓣只是给新手爬虫练手的,直到我发现了这个页面,才发现是我错了,原来豆瓣也有加密的,有可能是为了防止新手乱爬吧,一看到这个就觉得爬虫越来越不好做了,随便一个页面都有 js 加密。

而且我觉得比上次的知乎的还难点,但是可能就只有搜索页是加密的,其他的直接找全部图书的都是直接放在html源码的。

废话不多说,生死看淡,不服就干!!!开始分析。

1. 寻找搜索内容

这个图书数据是直接加密的,隐藏在了html页面,如果你需要找的话,估计还得找很长时间,我是从一位大佬告诉我的,就在下面这个页面的 window.__DATA__ 里面

不过如果需要自己找的话,还是可以的,需要点时间,自己细心点找,对于这个有经验了,以后遇到那些找不到数据的都可以尝试在本页面的html里面找。

2. 找解密位置

直接搜 window.__DATA__ 即可

上面的就是html内容,所以是下面一个,或者你不信的话可以自己尝试下。

打断点,一看,果不其然,数据都出来了

接着就是自己慢慢调试了,点击下一步自己慢慢调试,看看用到的方法

走了几步会很容易发现这个,这个就可以说是上面那个方法的解密步骤了

接下来就是自己看这些 JS 的内容了,不算难,如果你厉害的话,能看出他加密使用的方法的话,你可以直接使用 Python 语言的相关加密方法,如果看不懂,你就需要自己扣出相关的 JS 了,

如果你初学 JS 的话,学过了 JS 原型的属性,那么非常推荐你解一下,因为这里的 JS 分布在两个文件内,不像上次知乎那样直接一段函数就解决了那么简单,并且扣出来了还需要自己改下函数之间或者对象之间的原型,总之很复杂,这个只能意会不能言传,篇幅有限,也不可能全部一个一个扣出来并和你说怎么改。

还是得自己实践一次才能感受到,我最后花了几天时间,扣出了1500+行代码

3. 用Python运行

这里扣出了 JS 使用 python 的 execjs 执行,会出现一个问题

UnicodeDecodeError: "gbk" codec can"t decode byte 0x80 in position 41: illegal multibyte sequence

这里是因为里面使用了一个 TextIOWrapper 对象,里面没有指定编码类型,使用了默认的 cp936 也就是 gbk 编码,使读取字符出错,我们可以在这个类上面初始化改下编码类型为 utf-8 即可运行

再次运行,即可成功。

4. 写在最后

这个豆瓣解密可以说不难,也可以说有点难,因为需要扣很多 JS ,如果你能看懂他相关的解密方法就不需要扣,就会很容易了。如果逆向深入研究逆行 JS 的话,还是建议你自己动手撸一遍,

最后,想要源码地址为 https://github.com/SergioJune...,对你有用的话请给个star,谢谢。

如果文章对你有用的话就点个赞吧!

本文仅用于交流学习,请勿用于非法用途,后果自负!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43359.html

相关文章

  • 豆瓣读书搜索window.__DATA__解密

    摘要:而且我觉得比上次的知乎的还难点,但是可能就只有搜索页是加密的,其他的直接找全部图书的都是直接放在源码的。写在最后这个豆瓣解密可以说不难,也可以说有点难,因为需要扣很多,如果你能看懂他相关的解密方法就不需要扣,就会很容易了。 上次发了破解知乎模拟登陆的最新版之后,很多人看了都说好,唯独没人给我点赞,以后还是麻烦大家,如果看到对你有用的文章,可以点点赞,支持下作者哈。 还有,知乎模拟登陆的...

    BenCHou 评论0 收藏0
  • Scrapy爬取豆瓣读书全站

    Scrapy爬取豆瓣读书全站 分析网页 首先打开豆瓣读书中的分类浏览,可以看到其中有很多的分类 showImg(https://segmentfault.com/img/remote/1460000008991908); 豆瓣应该是一个比较好爬的网站,所有的数据都不是ajax加载的,我们打开谷歌的F12或者是火狐的FireBug可以很轻松的找到每一个分类的链接 showImg(https://s...

    CoderStudy 评论0 收藏0
  • 作为前端,如何帮帝都朋友租到合适房子

    摘要:前后翻几页我们不难发现,豆瓣是利用后面的参数来实现分页的。最后我们打开看一看效果吧,标红的是回复数量,点击标题可以直接跳转到豆瓣对应的页面。   在帝都打拼的小伙伴都知道,要租个合适的房子真心不易。中介要收一个月的房租作为中介费。而且很多黑中介打着租房的旗号各种坑蒙拐骗。要想在茫茫帖子中找到真正的房东,宛如大海捞针,同时需要和各路黑中介斗智斗勇。接下来就讲讲我浴血奋战的故事。   那么...

    pubdreamcc 评论0 收藏0
  • 作为前端,如何帮帝都朋友租到合适房子

    摘要:前后翻几页我们不难发现,豆瓣是利用后面的参数来实现分页的。最后我们打开看一看效果吧,标红的是回复数量,点击标题可以直接跳转到豆瓣对应的页面。   在帝都打拼的小伙伴都知道,要租个合适的房子真心不易。中介要收一个月的房租作为中介费。而且很多黑中介打着租房的旗号各种坑蒙拐骗。要想在茫茫帖子中找到真正的房东,宛如大海捞针,同时需要和各路黑中介斗智斗勇。接下来就讲讲我浴血奋战的故事。   那么...

    xiaolinbang 评论0 收藏0
  • 一步一步搭建react应用-爬取豆瓣电影电影信息

    摘要:一步一步构建一个应用开篇地址自己写表单录入电影信息比较费劲,所以选择爬取豆瓣电影的信息主要爬取电影的封面主演年份产地简介等信息。 [一步一步构建一个react应用-开篇](https://segmentfault.com/a/11... git地址 自己写表单录入电影信息比较费劲,所以选择爬取豆瓣电影的信息主要爬取电影的封面、主演、年份、产地、简介等信息。前端有个输入框,输入电影名然后...

    Bamboy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<