Python—初识爬虫 & requests库

Python—初识爬虫 & requests库

        • 浏览器的工作原理
        • 爬虫的工作原理
        • 用requests库获取数据:可以帮我们下载网页源代码、文本、图片,音频等
          • 安装requests库
          • requests.get()方法
          • Response对象常用的解析属性
          • 常见的响应状态码
        • robots协议(告诉你哪些可以操作,哪些不可操作)

浏览器的工作原理

首先我们需要明确三层关系:访问者(我们)—浏览器—服务器
再看下图,我们就能很轻松的理解了
Python—初识爬虫 & requests库_第1张图片

爬虫的工作原理

那么爬虫是什么,爬虫是模仿一个浏览器,来进行后续的工作
Python—初识爬虫 & requests库_第2张图片
所以啦,爬虫主要是做什么呢:
获取数据—解析数据—提取数据—存储数据

用requests库获取数据:可以帮我们下载网页源代码、文本、图片,音频等

安装requests库

Mac电脑:打开终端软件(terminal),输入pip3 install requests,点击enter;
Windows电脑:Ctrl + R 打开命令提示符(输入:cmd),再输入pip install requests,点击enter;

requests.get()方法
  1. 语法:res = requests.get(‘URL’) requests.get是在调用requests库中的get()方法;
  2. 它向服务器发送了一个请求,括号里的参数是你需要的数据所在的网址,然后服务器对请求作出了响应;
  3. 我们可以把这个响应返回的结果赋值赋值给一个变量;
import requests           #导入requests库
res = requests.get('https://localprod.pandateacher.com/python-manuscript/crawler-html/sanguo.md')           #获取数据并赋值给变量res
Response对象常用的解析属性

在这里插入图片描述

# 以下是范例

import requests         #导入requests库
res = requests.get('https://localprod.pandateacher.com/python-manuscript/crawler-html/sanguo.md')         #获取数据
print(res.status_code)     #返回状态码200代表请求成功

#应用response.encoding 定义文件编码 & response.text 解析文本并将数据存出
res.encoding='utf-8'       #指定文本数据的编码格式
novel=res.text          #解析为文本数据
wenj = open('《三国演义》.txt','w')                  #创建一个名为《三国演义》的txt文档,并确定模式为写
wenj .write(novel)               #写进文件中
wenj .close()         #关闭文档     

#response.content解析为二进制数据(图片、音频等)
import requests         #同样导入requests库
res = requests.get('https://res.pandateacher.com/2019-01-12-15-29-33.png')          #获取数据
pic = res.content         #解析数据
photo = open('p.jpg','wb')         #新建文件时请记得模式选用二进制的wb
photo.write(pic)            #写入文件
photo.close()           #关闭文件

此处特别提醒一点:
requests库会自动对数据编码类型做出判断,判断的不准确则会出现乱码,我们就要使用到response.encoding这个解析属性。

常见的响应状态码

Python—初识爬虫 & requests库_第3张图片

robots协议(告诉你哪些可以操作,哪些不可操作)

Robots协议:全称是“网络爬虫排除标准”(Robots exclusion protocol),这个协议用来告诉爬虫,哪些页面是可以抓取的,哪些不可以
怎么查看协议:在网站的域名后加上/robots.txt
举例: http://www.taobao.com/robots.txt
Allow代表可以被访问
Disallow代表禁止被访问
Python—初识爬虫 & requests库_第4张图片

你可能感兴趣的:(Python—爬虫)