网络爬虫(二):爬虫基本库Requests的使用

本文详细介绍了Python爬虫库Requests的使用,包括安装、基本的GET和POST请求、设置Headers、处理响应、文件上传、Cookies管理、Session维持、SSL证书处理、超时设置、身份认证和代理设置等,旨在帮助初学者理解如何使用Requests进行网络请求和网页抓取。
摘要由CSDN通过智能技术生成

学习爬虫,最基础的便是模拟浏览器向服务器发出请求,可能会觉得需要了解 HTTP、TCP、IP 层的网络传输通信,需要知道服务器的响应和应答原理。Python 的强大之处就是提供了功能齐全的类库来帮助我们完成这些请求。利用 Python 现有的库我们可以非常方便地实现网络请求的模拟,常见的库有 urllib、requests 等。

一、requests库的基本使用

1、安装

首先,requests库是Python的一个第三方库,不是自带的。所以我们需要额外安装。在这之前需要你先安装好Python3环境,如Python3.6版本。安装好 Python3 之后,我们使用 pip3 即可轻松地安装好 requests 库:

pip3 install requests

安装完成之后,我们就可以开始我们的网络爬虫之旅了。

2、实例引入

用Python写爬虫的第一步就是模拟发起一个请求,把网页的源代码获取下来。当我们在浏览器中输入一个URL并回车,实际上就是让浏览器帮我们发起一个GET类型的HTTP请求,浏览器得到源代码后,把它渲染出来就可以看到网页内容了。

Requests 这个库提供了一个 get 方法,我们调用这个方法,并传入对应的 URL 就能得到网页的源代码。

比如这里有一个示例网站:https://static1.scrape.cuiqingcai.com/,这个网站展示了一些电影数据,如果我们想要把这个网页里面的数据爬下来,比如获取各个电影的名称、上映时间等信息,然后把它存下来的话,该怎么做呢?

第一步当然就是获取它的网页源代码了。可以用 requests 这个库轻松地完成这个过程,代码的写法是这样的:

import requests
r = requests.get('https://static1.scrape.cuiqingcai.com/')
print(r.text)

这样就成功获取网页的 HTML 源代码,里面包含了电影的标题、类型、上映时间,等等。把网页源代码获取下来之后,下一步我们把想要的数据提取出来,数据的爬取就完成了。

3、请求

换一个示例网站,其 URL 为 http://httpbin.org/get,如果客户端发起的是 GET 请求的话,该网站会判断并返回相应的请求信息,包括 Headers、IP 等。对于GET请求,我们知道URL后面是可以跟上一些参数的,如果我们现在想添加两个参数,其中name是germey,age是25,URL就可以写成如下内容:http://httpbin.org/get?name=germey&age=25

但如果这些参数还需要我们手动拼接,未免有点不人性化。一般情况下,这种信息我们利用 params 这个参数就可以直接传递了,示例如下:

在这里我们把URL参数通过字典的形式传给get方法的params参数,通过返回信息我们可以判断,请求的链接自动被构造成了:http://httpbin.org/get?age=22&name=germey,这样我们就不用再去自己构造URL了,非常方便。另外,网页的返回类型实际上是str类型,但是它很特殊,是JSON格式的。所以,如果想直接解析返回结果,得到一个JSON 格式的数据的话,可以直接调用 json 方法。实例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值