Python之JavaScript逆向系列——通过IP代理高频获取全篇小说
Python之JavaScript逆向系列——通过IP代理高频获取全篇小说
目录
Python之JavaScript逆向系列——通过IP代理高频获取全篇小说
前言
大家好,本系列文章主要为大家提供的价值方向是网络信息获取,自动化的提取、收集、下载和记录互联网上的信息,加之自身分析,可以让价值最大化。整个内容中不会涉及到过为敏感的内容。
在这个AI+云计算+大数据时代,我们眼睛所看到的百分之九十的数据都是通过页面呈现出现的,不论是PC端、网页端还是移动端,数据渲染还是基于HTML+JavaScript进行的,而大多数的数据都是通过request请求后台API接口动态渲染的。而想成功的请求成功互联网上的开放/公开接口,必须知道它的【URL】、【Headers】、【Params】、【Body】等数据是如何生成的。我们需要了解浏览器开发者工具的功能,入门JS逆向,入门后还需要掌握例如如何【反编译js混淆】等内容,为了避免封本机IP,还需要对每次访问的IP进行代理,当我们拥有了JS逆向的能力后,根据JS所返回的动态请求参数信息便可以进行Python的具体信息获取操作,需要的知识点非常的多,故而本系列文章理论+实践会达到上百篇的文章,这篇文章是总篇,为了方便大家来直接查找所有知识点,建议之间关注收藏本篇,期望能给大家带来更高的价值。
环境准备
系统环境:win11
开发工具:
IP代理:
api工具:
数据库:MySQL5.7.32——阿里云RDS数据库
主要python库:requests、PyExecJS、parsel
正文
我们来下载一篇50万字的小说。
1、网络数据分析
我们打开网络,先找到目录,大战getChapterList可以获取所有的连接地址。
2、获取标题列表与文章id
可以说对应的接口给了所有的东西,很方便
3、确认请求路径与方法
在表头丽可以看到请求网址以及请求方法,这里是post
4、参数确定
这里可以在荷载丽看到传递的是文章id
5、根据api获取文章列表
请求的时候需要提供一个cookie,所以我们需要再标头中找到cookie
请求示例代码:
访问成功效果:
6、筛选具体的需求信息
需求文章id以及文章名称
7、根据文章列表确认每篇文章地址
随意打开一篇文章:
可以看到小说的id以及小说每篇文章的id,这两个信息我们都已经有了。
8、循环遍历文章并下载到本地
下面是执行的代码,如果你需要搞其它的文章,在对应的网址上找到小说ID提换一下即可。
150章,正好。
如果获取动态IP失败会等待2s之后重试,没有开多线程,所以需要等一会。
最终成果:
总结
这里涉及到的是json数据的处理,HTML页面元素的获取,文本信息的IO流操作等操作,相对难度就有一些了,我给了完整的代码示例,这里一定要使用IP代理,否则访问不过几十次就会封掉你本地的IP访问权限,看看我之前的文章,或者直接在环境准备中找到我使用的IP代理工具即可解决这种问题。
- 点赞
- 收藏
- 关注作者
评论(0)