天天看点

Python爬虫入门简介(一).了解爬虫(二)爬虫基本流程(三)爬取实例

爬虫入门简介

  • (一).了解爬虫
    • 一.爬虫是什么
    • 二.爬虫分类
    • 三.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协议的安全版。

Python爬虫入门简介(一).了解爬虫(二)爬虫基本流程(三)爬取实例

(2).加密方式:

  - 对称秘钥加密:

Python爬虫入门简介(一).了解爬虫(二)爬虫基本流程(三)爬取实例

  - 非对称秘钥加密

Python爬虫入门简介(一).了解爬虫(二)爬虫基本流程(三)爬取实例

  - 证书秘钥加密

Python爬虫入门简介(一).了解爬虫(二)爬虫基本流程(三)爬取实例

(二)爬虫基本流程

Python爬虫入门简介(一).了解爬虫(二)爬虫基本流程(三)爬取实例

一.发起请求

Python爬虫入门简介(一).了解爬虫(二)爬虫基本流程(三)爬取实例

二.获得响应内容

1.响应状态

  status_code=200 代表成功

  status_code=301 代表跳转

  status_code=404 找不到网页

  status_code=418 反爬虫

  status_code=502 服务器错误

Python爬虫入门简介(一).了解爬虫(二)爬虫基本流程(三)爬取实例

三.解析内容

Python爬虫入门简介(一).了解爬虫(二)爬虫基本流程(三)爬取实例

四.保存数据

Python爬虫入门简介(一).了解爬虫(二)爬虫基本流程(三)爬取实例

(三)爬取实例

一.向百度发起请求

import requests
url='https://www.baidu.com/'

response=requests.get(url)    #发起请求
response.encoding='utf-8' #没有之前是乱码,不能读到中文,所以设置 utf-8
html=response.text
print(html)
           

结果:

Python爬虫入门简介(一).了解爬虫(二)爬虫基本流程(三)爬取实例

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)