学习大纲

1. 初识爬虫 2. 数据解析 3. 初识反爬 4. 异步爬虫 5. selenium篇 6. 持久化数据存储 7. scrapy框架上 8. scrapy框架下 9. JS逆向 10. 进阶班

 

1. 初识爬虫

  1.1 chrome浏览器

    elements sources console network

  1.2 http协议

    请求 响应 get post 状态码

  1.3 requests模块入门

    requests安装 requests发送get请求 多参数get请求处理 requests发送post请求

 

2. 数据解析

  2.1 正则表达式

    元字符 量词 惰性匹配

  2.2 re模块详解

    findall() finditer() search() Match对象 group分组 conpile()预加载

  2.3 css基础语法规则

    css引入方式 选择器 id选择器 类选择器 标签选择器 组合选择器 子选择器 后代选择器 属性选择器

  2.4 bs4模块安装与基本使用

    bs4模块安装 beautifulsoup对象 find() find_all() 属性筛选 文本提取

  2.5 xpath入门

    lxml模块安装 节点概念 xpath处理xml xpath节点筛选 xpath属性筛选 xpath文本提取 xpath相对筛选 xpath处理html

  2.6 pyquery入门

    pyquery安装 pyquery基本语法 选择器的使用 pyquery链式提取 pyquery文本提取 pyquery操纵dom

 

3. 初识反爬

  3.1 cookie的使用 

    cookie是什么 cookie的作用 伪装cookie session的概念 利用session维护cookie 模拟登录

  3.2 referer的使用

    防盗链的概念 referer的作用 regerer实战

  3.3 代理的使用

    代理的概念 代理如何使用 代理池 第三方代理接入

 

4. 异步爬虫

  4.1 多线程

    thread类 start是怎么回事 线程的状态变化

  4.2 多线程

    process类 多线程与多进程对比

  4.3 线程池

    threadpoolexecutor类的使用 with在线程池的作用 submit() 线程池实战

  4.4 协程

    为什么要协程 协程应用场景 asyncio模块 async关键字 await关键字 多任务异步协程 aiohttp详解 clientsession()详解 aiohttp数据提取 aiofile模块详解 利用协程抓取实战

  4.5 实战电影抓取

    视频网站分析 m3u8文件下载 m3u8文件解析 ts文件批量下载 ts文件解密-aes解密 ts文件合并 爬虫自省-重点

 

5. selenium篇

  5.1 selenium概述与环境搭建

    chrome浏览器版本确认 chromedriver版本确认 chromedriver下载与安装 selenium模块安装 selenium自动打开浏览器

  5.2 selenium各种神奇操作

    find_element() by类型分析 find_element_by_id() find_element_by_tag_name() find_element_by_class_name() find_element_by_xpath() find_elements() click() send_keys() page_source get_cookies() 

  5.3 多窗口调度与iframe处理

    switch_to.window() window_handles switch_to.frame() slect_by_index() select_by_value() select_by_visible_text() selenium处理滚动条 execute_script() 窗口大小调整

  5.4 无头浏览器

    等待时间设置 无头浏览器配置 options() --headless --disable-gpu

  5.5 超级鹰使用

    验证码问题 超级鹰账号注册 超级鹰官方示例解读 验证码识别类型 返回数据解读与提取 超级鹰来模拟登录超级鹰

  5.6 模拟123网站登录

    123页面分析 selenium截图 通过验证码 通过滑块 action动作链 隐藏selenium动作

 

6.  持久化数据存储

  6.1 mysql数据库入门

    数据库介绍 mysql数据库安装 navicat安装与破解 table的相关操作 insert语句 update语句 delete语句 select语句 group by 与聚合函数 order by 排序

  6.2 pymysql快速入门

    pymysql模块安装 pymysql链接数据库 cursor pymysql增删改查操作 事务处理 抓取网吧电影到数据库

  6.3 mongodb数据库入门

    mongodb安装 添加数据 修改数据 删除数据 查询数据 复杂查询

  6.4 pymongo模块

    pymongo模块安装 pymongo链接mongodb数据库 完成增删改查操作

  6.5 二手房交易mongodb实战

 

7. scrapy框架上

  7.1 scrapy环境安装

  7.2 scrapy基本使用

  7.3 spider

    name名称 allowed_domains start_urls start_requests重写起始方法 parse解析方式 request请求对象详解

  7.4 scrapy组件

    spider编写爬虫逻辑 item定义数据格式 pipeline数据存储 下载中间件

  7.5 item数据类型

    item积累 field字段类 扩展item类

  7.6 itempipeline

    自定义管道 数据存储到csv 数据存储到mysql 数据存储到mongodb 图片、文件下载管道 同时处理多个item

  7.7 下载中间件

    process_request process_response 请求头反爬处理 动态ua ip反爬处理 cookie反爬处理

  7.8 scrapy实战

 

8. scrapy框架下

  8.1 crawlspider全站数据爬取

    linkextractors链接提取器 rules爬取规则设置 rule链接提取规则 crawlspider全站爬取

  8.2 过滤器

    md5算法 指纹过滤器 request_fingerprint request_seen rfpdupefilter

  8.3 scrapy配置文件

    robots协议配置 日志配置 重定向配置 下载延迟 管道,中间件优先级配置

  8.4 分布式爬虫

    redis简介 redis安装与配置 redis数据类型 redis数据增删改查 pyredis快速上手 分布式概念 使用redis完成分布式爬虫 redisspider 分布式持久化 分布式调度器 起始url设置 redis实现增量爬虫

  8.5 scrapy-splash

    docker安装 splash拉取与安装 splash配置 scrapy-splash安装 利用scrapy-splash完成数据抓取

  8.6 scrapy实战

 

9. JS逆向

  9.1 JavaScript语法入门

    变量 if判断 for循环 switch js函数 foreach() 闭包函数 JS对象 eval() 原型 date与math 定时器 js操纵dom对象 chrome调试js

  9.2 各种加密算法

    urlencode编码解码 base64编码解码 md5加密 sha1 des对称加密 aes加密 rsa非对称加密 音乐实战

  9.3 pyexcejs模块

    nodejs安装 pyexecjs模块安装 复杂js自动化处理 pyexcejs调试js

  9.4 js逆向开发基础

    实战etw360登录 实战战火 实战空气质量抓取 实战网校登录抓取

 

10. 进阶班

  10.1 js逆向技术栈

    chrome断点调试 js代码结构解析 加密算法的实现 nodejs编译原生js算法 asyncio、aiohttp异步编程 高阶进程&线程&协程提升并发量 python高性能异步框架uvloop 企业应用及日志处理

  10.2 app逆向技术栈

    安卓模拟器 网络抓包和配置charles app脱壳&反编译 jeb和ida等工具配置 基于frida框架和xposed的hook实战 frida-rpc及flask服务开发 java必备语言基础 安卓app和ndk开发(so破解) jni静态分析和动态调试 androidnativeeemu和unidbg逆向so算法

  10.3 js逆向实战

    购物网址 短视频网址

  10.4 app逆向实战

    视频网址 知识问答网站

  10.5 基于flask构建自动化爬虫接单&任务分发平台

    flask框架快速上手 flask核心源码剖析 sqlachemy orm框架快速上手 消息队列和缓存 基于python实现exe爬虫应用脚本开发 实现前端下单 > 创建任务 > 分布式分发 > 任务执行反馈流程 项目部署

posted @ 2021-12-29 11:20  andux  阅读(119)  评论(0)    收藏  举报