前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬虫进阶必备 | XX文学加密分析实例

Python爬虫进阶必备 | XX文学加密分析实例

作者头像
咸鱼学Python
发布2019-12-12 17:44:03
7360
发布2019-12-12 17:44:03
举报
文章被收录于专栏:咸鱼学Python咸鱼学Python

目标网站:

aHR0cHM6Ly93d3cuYWxpd3guY29tLmNuL3JlYWRlcj9iaWQ9NjgxMzkyMyZjaWQ9Njc0MTc0

抓包分析与加密定位

这个网站上一篇文章的加密的形式是一样的,也是对正文的内容进行加密完成反爬。

一样还是先抓包看下请求【图1-1】

图1-1

请求的参数有一个 sign值疑似加密,接下来看看返回的正文加密的内容【图1-2】

图1-2

可以看到ChapterContent这个值是加密的字段。

按照上一篇文章的思路,我们直接检索看看。【图1-3】

图1-3

根据这一个结果继续跟进文件看看【图1-4】

图1-4

在文件中的检索结果有两个,但是并不妨碍我们直接可以猜到加密的位置是123行,这个_decodeCont从语义上还是比较好分别出来这个就是解密的地方。

还是打上断点重新加载一下,可以看到传入的参数就是我们刚刚在【图1-2】中看到的密文。【图1-5】

图1-5

我们继续跟进去就可以看到这个解密方法的全貌了。【图1-6】

图1-6

这个解密的逻辑看着就很简单。

接下来继续看看上面疑似加密的sign 值。

通过直接检索没找到加密的位置,后面发现这个值是直接通过页面传递的。

加密分析与扣取

这个加密并没有应用其他的加密方法,直接把加密的整个函数扣取出来就完事了。

传入加密的密文,运行一下就可以看到明文了。【图2-1】

图2-1

Python 爬取

上面疑似加密的地方已经全部找到了。

所以通过 Python 爬取的难度近乎于无,但还是要简单尝试一下,还是使用execjs 执行我们扣取好的 js 文件。

代码语言:javascript
复制
with open('decrypt.js', 'rb') as f:
    js = f.read().decode()

其他的代码就是 request + xpath 没啥新的东西。

直接上结果【图3-1】

以上就是今天网站加密分析的全部内容了,如果对你有帮助,希望可以点个好看支持一下~

感谢~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 咸鱼学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 抓包分析与加密定位
  • 加密分析与扣取
  • Python 爬取
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档