爬虫入门简介
- (一).了解爬虫
-
- 一.爬虫是什么
- 二.爬虫分类
- 三.robots.txt协议
- 四.http&https协议
-
- 1.http协议
- 2.https协议
- (二)爬虫基本流程
-
- 一.发起请求
- 二.获得响应内容
- 三.解析内容
- 四.保存数据
- (三)爬取实例
-
- 一.向百度发起请求
- 二.爬取图片
- 三.爬取视频
参考链接:
https://www.bilibili.com/video/BV1ZJ411N7Fq?p=1
https://www.bilibili.com/video/BV1Yh411o7Sz?p=3
(一).了解爬虫
一.爬虫是什么
请求网站并提取数据的自动化程序。通过编写程序,模拟浏览器上网,然后去互联网上抓取数据的过程。
二.爬虫分类
1.通用爬虫:抓取系统重要组成部分,抓取的是一整张页面数据
2.聚焦爬虫:建立在通用爬虫基础上,抓取的是页面中特定的局部内容
3.增量式爬虫:检测网站中数据的更新情况,只会抓取网站中最新更新出来的数据。
三.robots.txt协议
君子协议。规定了网站中哪些数据可以爬取,哪些数据不可爬取。
四.http&https协议
1.http协议
(1).概念:服务器与客户端进行数据交互的一种形式
(2).常用请求头信息:
-User-Agent:请求载体的身份标识
-Connection:请求完毕后,是断开连接还是保持连接
(3).常用响应头信息:
-Content-Type:服务器响应回客户端的数据类型
2.https协议
(1).概念:安全的超文本传输协议,https是在http上建立ssl加密层,并对传输数据进行加密,是http协议的安全版。
(2).加密方式:
- 对称秘钥加密:
- 非对称秘钥加密
- 证书秘钥加密
(二)爬虫基本流程
一.发起请求
二.获得响应内容
1.响应状态
status_code=200 代表成功
status_code=301 代表跳转
status_code=404 找不到网页
status_code=418 反爬虫
status_code=502 服务器错误
三.解析内容
四.保存数据
(三)爬取实例
一.向百度发起请求
import requests
url='https://www.baidu.com/'
response=requests.get(url) #发起请求
response.encoding='utf-8' #没有之前是乱码,不能读到中文,所以设置 utf-8
html=response.text
print(html)
结果:
200
二.爬取图片
url='https://t8.baidu.com/it/u=2247852322,986532796&fm=79&app=86&size=h300&n=0&g=4n&f=jpeg?sec=1602815847&t=f5872098451d6e69deea95e6ae65175d'
response=requests.get(url)
with open('baudu.jpg','wb') as f:
f.write(response.content)
三.爬取视频
url='https://thumbnail0.baidupcs.com/thumbnail/7f2c0c259ne75de6b5116d4ee0aeff6a?fid=3577591394-250528-704067560583767&rt=pr&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-TKnrRn2Xy9pBpTwF0w7zF9pK3lA%3d&expires=8h&chkbd=0&chkv=0&dp-logid=6550829841150950561&dp-callid=0&time=1602208800&size=c850_u580&quality=100&vuk=3577591394&ft=video'
response=requests.get(url)
with open('元音.mp4','wb') as v:
v.write(response.content)