爬虫学习打卡第二天——requests基础

今天学习爬虫的一个模块:requests(基础)

目录

一、工具与环境

二、GET请求

1、基础Ⅰ:requests的get用法

2、基础Ⅱ:反扒问题

3、基础Ⅲ

 4、基础Ⅳ:获取请求头

 5、基础Ⅴ:获取cookie

 6、基础Ⅵ:添加请求头

7、抓取二进制数据

三、POST请求


一、工具与环境

①环境:jupyter

②需要安装模块:requests

!pip install requests

在jupyter新建一个python3,输入如上代码,运行即可。

爬虫学习打卡第二天——requests基础_第1张图片

二、GET请求

1、基础Ⅰ:requests的get用法

import requests #导入requests模块
r = requests.get('https://www.baidu.com/') #以百度为例将get请求到的内容传给r
print(r.text)#输出r的内容

爬虫学习打卡第二天——requests基础_第2张图片

2、基础Ⅱ:反扒问题

import requests
u=requests.get('https://blog.csdn.net/m0_60960867')
print(u.status_code)#打印状态码
print(u.text)#打印文本
print(u.cookies)#打印cookie

爬虫学习打卡第二天——requests基础_第3张图片

 这里爬一下我自己的博客,发现并不像上一个案例一样,这是因为被反扒了

3、基础Ⅲ

http://httpbin.org/get

一个专门用来实现爬虫请求的网站

对其进行一次普通的get请求可以得到:

爬虫学习打卡第二天——requests基础_第4张图片

这里出现了 请求头、URL、IP 等信息。

当需要额外的条件请求即可运用参数params

爬虫学习打卡第二天——requests基础_第5张图片

由于网页的返回类型是 str 类型,并且是 JSON 格式的,如果想直接解析返回结果,得到一个字典格式的话,可以直接调用 json 方法。

import requests  
r = requests.get("http://httpbin.org/get")  
print(type(r.text)) #得到r的类型为str
print(r.json())  
print(type(r.json()))#得到r.json()的类型为dict

 4、基础Ⅳ:获取请求头

鼠标点击右键,选择检查,再选择网络,刷新一下,随机选其中一个内容,如下:

爬虫学习打卡第二天——requests基础_第6张图片 即可获得请求头

 5、基础Ⅴ:获取cookie

import requests
headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Edg/95.0.1020.44'
}#请求头
url='https://avatar.csdnimg.cn/D/2/1/2_m0_60960867_1633660031.jpg'
r=requests.get(url=url,headers=headers)
print(r.cookies)#直接打印

爬虫学习打卡第二天——requests基础_第7张图片

 6、基础Ⅵ:添加请求头

有些时候我们需要添加headers 参数来传递头信息,不然就会请求失败。

以知乎为例

import requests
r = requests.get("https://www.zhihu.com/explore")
print(r.text)

爬虫学习打卡第二天——requests基础_第8张图片

出现403 请求失败。

但如果加上 headers 并加上 User-Agent 信息

import requests
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'
}#请求头
r = requests.get("https://www.zhihu.com/explore", headers=headers)
print(r.text)

爬虫学习打卡第二天——requests基础_第9张图片

就可以请求成功

7、抓取二进制数据

 图片、音频、视频这些文件本质上都是由二进制码组成的,由于有特定的保存格式和对应的解析方式,我们才可以看到这些形形色色的多媒体。所以,想要抓取它们,就要拿到它们的二进制码。

以爬取我自己的头像为例子:

爬虫学习打卡第二天——requests基础_第10张图片

import requests
headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Edg/95.0.1020.44'
}
url='https://profile.csdnimg.cn/D/2/1/1_m0_60960867'
r = requests.get(url=url,headers=headers)
with open('phpto.jpg', 'wb') as f:
    f.write(r.content)

运行即可保存 

爬虫学习打卡第二天——requests基础_第11张图片

三、POST请求

post请求用法与get请求大同小异

爬虫学习打卡第二天——requests基础_第12张图片

就不再赘述。

你可能感兴趣的:(python爬虫,爬虫,python,pycharm)