个人学习 Python 爬虫的练习代码合集,内容从 requests 入门,逐步到 xpath/jsonpath 解析、自动化爬虫、多线程采集,再到 JS 逆向与登录逆向。代码以亲手实践为主,属练习性质。
- Python 3(开发环境为 3.9)
- 主要第三方库:
pip install requests lxml jsonpath jsonpath-ng DrissionPage PyExecJS loguru openpyxl beautifulsoup4 moviepy| 依赖 | 用途 |
|---|---|
requests |
发送 HTTP 请求,本仓库用得最多的库 |
lxml |
xpath 解析 HTML |
jsonpath / jsonpath_ng |
从 JSON 响应中按表达式提取数据 |
DrissionPage |
浏览器自动化采集 |
PyExecJS |
在 Python 里执行 JS 代码,JS 逆向的核心工具 |
loguru |
日志输出 |
openpyxl |
读写 Excel |
beautifulsoup4 |
HTML 解析(少量案例使用) |
moviepy |
音视频处理(音视频分离下载的案例) |
补充说明:
execjs需要本机已安装 Node.js,否则无法执行 JS。DrissionPage需要本机有 Chrome / Edge 浏览器。- 超级鹰打码平台的 SDK 已内置在
09_过验证码\Chaojiying_Python,无需额外安装。
| 目录 | 内容 |
|---|---|
01基础复习 |
基础语法复习 |
03-requests请求参数 |
requests 基础、请求头与 Cookie 设置、反爬情况下的音视频下载、爬虫练习 1~12 |
04-json模块与jsonpath语法规则 |
json 模块、jsonpath 语法、正则复习 |
05-csv读写与案例实战 |
csv 模块读写与实战案例 |
06 07-xpath解析&案例实战 |
lxml + xpath 解析、多页数据采集实战 |
08自动化爬虫 |
DrissionPage 自动化采集,含百度图片爬取练习 |
09_过验证码 |
打码平台(超级鹰)接口接入,含官方 SDK |
10爬虫案例实战 |
综合案例实战 |
10线程 |
线程入门 |
11线程 |
单线程 / 多线程 / 多进程 / 线程池的性能对比,以及音乐下载实战 |
11_初始js逆向 |
base64 编码、MD5、AES、DES 等常见加密算法与 JS 调用 |
12js逆向入门案例 |
execjs 执行 JS 的入门案例 |
13_酷狗音乐逆向案例 |
酷狗音乐搜索接口逆向 |
14_宁波大学案例 |
校园网站数据采集案例 |
15_杭州空气质量查询js逆向练习 |
请求参数加密/解密的 JS 逆向练习 |
16_逆向登录 |
登录流程逆向,含 RSA 加密与 eval 混淆处理 |
17_DP自动化 |
DrissionPage 自动化 |
DP监听 |
DrissionPage 网络请求监听 |
python 文件名.py多数脚本直接运行即可;12js逆向入门案例、16_逆向登录 等依赖同目录下的 .js 文件(由 execjs 读取执行),请保持目录结构完整。
- 仓库只保存代码(
.py、.js等),不纳入采集产物与数据文件。 .xlsx、.csv、.html、.json、.txt,以及图片、音视频、压缩包等,均通过.gitignore排除,只在本地保留。- 部分脚本中的 Cookie 与登录态是调试时从浏览器复制粘贴的,仅供本机学习使用,多数已过期;如果你要复用这些脚本,请替换成自己的。
- 本仓库代码仅供学习与个人练习。抓取任何网站前请阅读该网站的
robots.txt与服务条款,控制请求频率,不要用于商业用途或对目标站点造成压力。
除下方「第三方内容声明」列出的内容外,本仓库代码基于 MIT 许可证 开源,可自由使用、修改、分发和商用,只需保留版权声明。
Copyright (c) 2026 王福洪
以下内容不属于上述 MIT 许可证的授权范围,版权归各自所有者,收录在此仅作为学习过程中的接入示例:
| 路径 | 来源 | 说明 |
|---|---|---|
09_过验证码/Chaojiying_Python |
超级鹰 官网 | 官方提供的 Python 接入示例代码,官方未附带许可证声明 |
除上述内容外,仓库中的其余代码均为本人编写。
如果你要复用本仓库的代码,请注意:抓取到的第三方内容受其自身服务条款与著作权保护,请遵守目标站点的 robots.txt 与相关法律,不要直接转载抓取到的第三方内容,也不要将本项目用于未经授权的用途。