Python爬虫小白入门(一)requests库

一、前言


为什么要先说Requests库呢,因为这是个功能很强大的网络请求库,可以实现跟浏览器一样发送各种HTTP请求来获取网站的数据。网络上的模块、库、包指的都是同一种东西,所以后文中可能会在不同地方使用不同称谓,不要迷惑哦。

结合一个实例来讲解吧。我的一个设计师小伙伴常去一些设计类网站收集素材,其中有个网站Unsplash里面美图特别多,所以想要把里面的图片都保存下来,这样咱们的小爬虫就登场了。说干就干,赶紧开始吧。

先来准备环境

二、requests 库的安装


使用Anaconda 版本的得小伙伴儿:用管理员权限运行cmd命令窗口,然后输入
conda install requests

看动图:
在这里插入图片描述

直接使用Python3.5的小伙伴儿输入这个命令:
pip install requests

如果你机器上存在多个Python版本,要给Python3.5的版本安装requests库,需要输入以下命令:
py -3 -m pip install requests

好啦,requests库安装完毕,接下来我们会在实际例子中演示它的使用。

三、开工


首先我们打开PyCharm,需要选择一下它的页面主题。选择你喜欢的风格,以及选择使用的Python版本。然后打开一个你想要存放爬虫的目录,进入后长这样。

我们再创建一个python文件,输入第一行代码来导入requests库:
import requests #导入requests库

然后用它来获取咱们的目标网页:

r = requests.get('https://unsplash.com') #像目标url地址发送get请求,返回一个response对象
print(r.text) #r.text是http response的网页HTML

在菜单栏点击“Run”,选择该文件(或者直接在窗口中点击右键,运行该文件):

执行完之后,底部会出现输出结果:


可以看到底部是获取到的网页内容。这就完成了爬虫的第一步,获取到了网页的HTML内容。
怎么样,很简单吧。

这只是用到了requests库的get请求,还有其他的请求使用也与之类似。下面我们简单介绍一下每个请求的用法。

四、requests库的使用


因为有中文的官方文档,我就不介绍所有的功能了,只把常用到的说一下,大家用到更多功能的时候再去翻官方文档吧。

requests 库就是用来发送各种请求的,所以,我们就来看看各种请求怎么使用:

1 get 请求

r = requests.get("https://unsplash.com")
这就是我们刚刚用到的。其实就是向网站发送了一个get请求,然后网站会返回一个response。r 就是response。大家可以在运行的时候查看r的type。
print(type(r))

get请求还可以传递参数:

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get("http://httpbin.org/get", params=payload)

上面代码向服务器发送的请求中包含了两个参数key1和key2,以及两个参数的值。实际上它构造成了如下网址:
http://httpbin.org/get?key1=value1&key2=value2

2 POST请求

无参数的post请求:
r = requests.post("http://httpbin.org/post")
有参数的post请求:

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", data=payload)

post请求多用来提交表单数据,即填写一堆输入框,然后提交。

3 其他请求

其他一些请求例如put请求、delete请求、head请求、option请求等其实都是类似的。但是平时用的不多,就不仔细介绍了。有用到的可以去看官网文档哦。阅读官方文档是必备技能!

r = requests.put("http://httpbin.org/put")
r = requests.delete("http://httpbin.org/delete")
r = requests.head("http://httpbin.org/get")
r = requests.options("http://httpbin.org/get")

4 处理异常

当网络请求出现问题时(如连接超时、DNS解析失败等),requests库会抛出一个requests.exceptions.RequestException异常。你可以使用try-except语句来处理这些异常:

import requests 
from requests.exceptions 
import RequestException 
try: response = requests.get('https://www.example.com') 
# ... 后续处理 ... 
except RequestException as e: 
print('请求失败:', e)`在这里插入代码片`

五、后语


我们刚才用requests库发送http请求获得了网页的HTML内容,那么应该如何从HTML中获得图片呢?

BeautifulSoup库就此登场啦,赶快去看一下篇来了解它的用法吧。
如有侵权,请联系删除。

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值