学习视频
0.Anaconda、Mongodb、Redis(分布式爬虫)、MySQL、Pycharm
1.爬虫需要的相关模块
1)urlib/re python内置库
2)requests 做url请求时常用库
3)selenium(chromedriver) 做自动化测试库,能获取js渲染后的页面
4)lxml 网页解析库
5)beautifulsoup 网页解析库,依赖lxml
6)pyquery 网页解析库,语法与 jquery一致
7)pymysql 操作MySQL数据库的库
8)pymongo 操作Mongo数据库的库
9)redis 操作Redis数据库的库
10)flask 用来设置代理,Web库
11)diango 是一个Web服务器框架,可以做网页
12)jupyter 是一个网页端记事本,可以形成一个方便的代码记录
pip install requests selenium beautifulsoup4 pyquery pymysql pymongo redis flask django jupyter
2.爬虫的相关问题?
1)什么是爬虫? ***请求***网站并***提取***数据的***自动化***程序
从html代码里,提取出信息
2)爬虫的基本流程? 发起请求-->获取响应内容-->内容解析-->保存数据
3)Request与Response?
4)Request?
请求方式{POST、GET},POST必须构建表单,GET不用。
请求URL
请求头User-Agent、Host、Cookies
请求体,请求时额外携带的数据
5)Response?
响应状态 如200 301 404 502
请求体 如内容类型、内容长度、服务器信息等
响应体 response body
6)能抓取什么信息? 文本、图片(二进制)、视频(二进制)、其他
7)解析方法? 直接处理、Json解析、正则表达式、BeautifulSoup、PyQuery、XPath
8)为什么抓的和浏览器看到的不一样?
request无法获取js(通过后台接口获取渲染数据)
9)怎么解决JavaScript渲染的问题?
分析Ajax请求
Selenium/WebDriver (像浏览器一样加载网页)
Splash (模型Ajax渲染)
PyV8、Ghost.py
3.Urlib内置库 讲解+例子
1.urllib.request 打开和读取url链接
2.urllib.error 请求可能遇到的错误
3.urllib.parse 解析处理url
4.urllib.robotparser 解析robots.txt文件
4.requests库 讲解1+讲解2
1.requests库 比 urllib库 方便
5.re库 讲解
6.beautifulsoup库 讲解1+讲解2+PyPI
1.pip install beautifulsoup4
2.解析网页内容,在某种程度上可以替代re正则
3.获取网页内容的细节(tag/link/href/img)
7.PyQuery库 讲解
8.Selenium库 讲解
1.自动化测试工具,爬虫中主要用来解决JavaScript渲染的问题。