【爬虫学习】基础篇6:Requests库

本文介绍了requests库在Python爬虫中的安装与使用,特别是如何发送GET请求,设置请求头和搜索关键词。作者还展示了如何解析响应内容和URL地址,以及requests库对内容的自动解码处理。
摘要由CSDN通过智能技术生成

        今天是2024年2月13日,龙年大年初四,因为春节假期更新得比较慢,先向大家说一声抱歉,同时祝大家新年快乐,龙年吉祥!

        咱们言归正传,之前基础篇1-5介绍的是爬虫中的一个较为基础的库——urllib库(python自带无需安装),今天开始介绍一个更加高效方便的第三方爬虫库——requests库。在实际的爬虫代码撰写中,我们其实不太会使用urllib库,而会更多地使用requests库提高代码效率。

1、requests库的安装

        因为是第三方库,所以需要我们自行安装。

        具体细节不展开,大家可以采用最基础的方法:ctrl+r打开【搜索运行窗口】,搜索框中输入“cmd”,弹出黑色cmd对话框,直接输入“pip install requests",自动安装。

        我们也可以使用pycharm程序实现安装:主窗口上方左上角file(若是mac系统,是在pycharm的偏好设置preference中),下拉框中选择settings,左侧选择我们正在处理的project,右侧显示当前project环境下我们已经有的库,点击+号实现新库的安装和添加。

2、使用requests库发送get请求

import requests
response = requests.get('http://www.baidu.com')
print(response)

        上面代码使用requests.get方法向百度服务器发送get请求,打印response结果如下:

        大家可能会有点疑惑:requests库哪里简洁高效了?其实呢,get方法的括号中,我们还可以添加很多的参数,例如:headers(请求头)和其他查询参数。

        接下来,我们略微提升下难度,百度搜索中国:

        当我们在搜索框输入“中国”后,url地址栏也会出现对应的搜索词(我已将url搜索词后面多余代码删去,回车刷新,搜索结果保持一致)。接下来,我们将带有搜索关键词的参数添加进get方法中:

import requests

# 设置请求头
headers ={'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36'
    }
# 设置搜索关键词
kw = {'wd':'中国'}

response = requests.get('http://www.baidu.com',headers=headers,params=kw)
print(response)

        打印结果同样是200,表明请求正常。

        response带有许多属性,我们逐个来看下:

# 查询响应的内容
print(response.text)

# 查询响应内容2
print(response.content)

        text和content都是网页内容,content是字节型(bytes),text是字符型(unicode)。content是直接抓取网页内容,text是requests解码后呈现的内容,requests库自行猜测内容并进行解码,但有时requests库会解码失败(出现乱码or报错),此时,我们用.content.decode('utf-8')进行手动解码!

# 查询url地址
print(response.url)

        “中国”自动进行了编码,我们可以把这个url地址粘贴到网页url地址栏。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值