/learning_spider

爬虫练习平台(网站)/工具脚本/记录。这其实是一份学习笔记。

Primary LanguageHTML

简介

此项目主要分为三个部分

  • 爬虫案例
    对一些网站的数据进行爬取,标记出 难度和要点
  • web网站 http://learnspider.evilrecluse.top/
    根据反反爬经验,尝试去接入、编写各类爬虫障碍,顺便研究前端/后端/服务器知识
  • 辅助工具/脚本制造
    尝试制作各种爬虫工具/脚本

已完成的内容 - 目前进度估计 2%

爬虫案例

案例列表
难度 内容 信息 方式 难点
基础 各类库的简单用法 基本使用方法 查看文档
编写demo
入门 猫眼电影排行榜top100 静态网页 requests
亚马逊**商城搜索页 静态网页 requests
今日头条搜索结果 动态网页 requests
微博移动端用户动态信息 动态网页 requests since_id参数的所在地
Bilibili观察者 见齐指数 动态网页 requests 被压缩的 指数数据 的还原
最简单的滑块验证码 动态网页 Selenium 滑块移动
简单 某路由器密码加密方法 单个js文件 寻找加密函数
无限debugger处理 动态网页 reres 反调试
AAEncode解加密 动态网页 devtool 编码加密
CSS元素绝对定位反爬 静态网页 pyppeteer 还原元素顺序
CSS伪类反爬 静态网页 requests 还原伪类内容
58同城品牌公寓 静态网页 requests 静态字体加密
一般 知乎文章信息 动态网页 requests 头部`x-zse-86`参数加密
基于时间的反调试

基础练习网站

案例
类型 难度 名称 信息
滑块验证 入门 最简单的滑块验证 只要拖动滑块,滑到尽头就可以通过,不存在任何检测
简单 SliderCaptcha 默认设置部署,存在基本的人机验证,匀速拉动/直线拉动不会通过验证
CSS反爬 入门 绝对定位反爬 利用绝对定位的特性,将数据分散打乱写入html后,通过坐标还原观感
简单 伪类反爬 利用伪类content能显示数据的特点,将部分数据用content展示
一般 静态字体加密反爬 让一些Unicode文字使用自定义字体解析,让使用标准Unicode解析的人爬不到数据
单个访问过程中字体并不会变化
js反爬 入门 反调试 利用 定时启动的/嵌套的debugger来让浏览器一直处于无法退出的调试状态
简单 AAEncode 用表情字符取代常见字符,让人难以阅读
简单 JSFuck 用几种基本字符取代大部分常见字符,让人难以阅读
一般 AES对称加密 将传输的数据进行加密
一般 自定义Base64码表加密 将传输的数据进行加密
指纹反爬 简单 Selenium识别 通过一些自动创建的变量识别Selenium
技术应用
使用 信息
规范 RESTful 规范的API,规范的响应
CDN bootcdn.cn 免费的前端开源项目 CDN 加速服务
前端 JQuery 2.2.4 一个快速、简洁的JavaScript框架
Materialize 基于Material Design的前端响应式框架
twitter-bootstrap 3.4.1 Twitter推出的一个用于前端开发的开源工具包
font-awesome 4.7.0 一套图标字体库和CSS框架
metisMenu 3.0.6 Vanilla-JS 折叠菜单插件
代理服务器 nginx 高性能的HTTP/反向代理服务器
Web服务器 uWSGI 一个Web服务器
后端 Flask 1.1.2 Python轻量级web框架
Flask-RESTful 0.3.8 一个支持快速创建REST APIs的 Flask插件

无用脚本制造

工具/脚本制造
附属于 内容 信息
Selenium Auto DL ChromeWebDriver 从注册表获知Chrome版本信息,从google下载最符合版本的Web Driver,使得Selenium能正常运行
(虽然实际上最好的解决方法不是这样做,而是在服务器上下一个docker,拉取Image,然后部署上)

2020年11月4日