Python-爬虫
- ■ 爬虫分类
- ■ 1. 通用网络爬虫:(搜索引擎使用,遵守robots协议)
- ■ robots协议(君子协议)
- ■ 2. 聚集网络爬虫:自己写的爬虫程序
- ■ urllib.request(请求模块)
- ■ 示例一:01_Request.py 向百度发送请求,并获取http响应码
- ■ 示例二:02_Request.py
- ■ 示例三:03_Request.py
- ■ 请求头(headers)User-Agent
- ■ 知识点一:向测试网站: http://httpbin.org/get 发送请求,**会返回我们的请求头User-Agent内容。**
- ■ 知识点二:写的py代码的User-Agent:是Python-urllib/3.7,这样子很容易被服务器知道你是爬虫访问的,所以在发送请求前指定一个User-Agent
- ■ urllib.parse(编码模块)
- ■ 知识点一:对中文进行编码后再发送请求。![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e567fb9e69004ac0ac04c2e28f941a5e.png)
- ■ 正则表达式re模块
- ■ 1.
- ■ 2.
- ■ 3.
- ■ 数据持久化
- ■ 1. 数据持久化-CSV
- ■ 2. 数据持久化-MySQL
- ■ 3. 数据持久化-MongoDB
- ■ 多级页面抓取
- ■ 1.
- ■ 2.
- ■ 3.
- ■ requests模块
- ■ 1.
- ■ 2.
- ■ 3.
- ■ 互联网图片抓取
- ■ Chrome浏览器插件
- ■ xpath语法解析
- ■ 1. lxml+xpath解析提取数据
- ■ 2.
- ■ Json解析模块
- ■ 1.
- ■ 2.
- ■ 3.
- ■ Cookie
- ■ 1.
- ■ 2.
- ■ 3.
- ■ Selenium
- ■ 1.
- ■ 2.
- ■ 3.
- ■ 中间件
- ■ 1.
- ■ 2.
- ■ 3.
- ■ Scrapy
- ■ 1 Scrapy-框架原理
- ■ 2 Scrapy-
- ■ 3 Scrapy-
- ■ 分布式爬虫原理
- ■ 1.
- ■ 2.
- ■ 3.
- ■ 机器视觉
- ■ 1.
- ■ 2.
- ■ 3.
- ■ 极限滑块验证码破解
- ■ 1.
- ■ 2.
- ■ 3.
- ■ 移动端数据抓取
- ■ 1.
- ■ 2.
- ■ 3.
■ 爬虫分类
■ 1. 通用网络爬虫:(搜索引擎使用,遵守robots协议)
■ robots协议(君子协议)
robots协议:通过robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取
网页后面加 robots.txt 查看网站robots协议。
实例一:www.qq.com/robots.txt
■ 2. 聚集网络爬虫:自己写的爬虫程序
■ urllib.request(请求模块)
作用: 向网站发送请求,即:我们平时在浏览器输入地址访问网站一样。
函数 | 作用 | 参数 |
---|---|---|
urllib.request.urlopen(URL,timeout) | 作用 | URL:需要爬取的URL地址 timeout:设置等待超时时间,指定时间内未响应抛出超时异常。 |
urllib.request.Request() | 包装请求,重构User-Agent,使用程序更新正常人类请求 | URL:请求的URL地址 headers:添加请求头,类型为字典headers= {‘User-Agent’:} |
■ 示例一:01_Request.py 向百度发送请求,并获取http响应码
from
■ 示例二:02_Request.py
from
■ 示例三:03_Request.py
from
■ 请求头(headers)User-Agent
作用: User-Agent 有游览器,操作系统信息。
■ 知识点一:向测试网站: http://httpbin.org/get 发送请求,会返回我们的请求头User-Agent内容。
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0
■ 知识点二:写的py代码的User-Agent:是Python-urllib/3.7,这样子很容易被服务器知道你是爬虫访问的,所以在发送请求前指定一个User-Agent
■ urllib.parse(编码模块)
作用:给URL地址中查询参数进行编码