今天我们来一起做爬虫的第一个项目。首先应该了解一下requests。
Requests简介——让HTTP服务人类
1、requests 库简介
Urllib 和 Requests 模块是发起 http 请求最常见的模块。
虽然 Python 的标准库中 urllib 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称“http for Humans”,说明使用更简洁方便。
Requests继承了urllib的所有特性。Requests支持http连接保持和连接池,支持使用cookie 保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数 据自动编码。
requests 的底层实现其实就是 urllib3(urllib2 的升级版—python2 支持)
Requests 的文档非常完备,中文文档也相当不错。Requests 能完全满足当前网络的需求, 支持 Python 2.6—3.6。
2、安装方式
在Terminal中输入一行命令:
pip install requests
3、requests模块get请求
当我们在客户端输入一个 url,获取 url 所对应的页面内容时,其过程如下图所示。客户 端发送一个请求,服务器收到这个请求后就会将请求所对应的响应返回给客户端,客户端收 到这个响应将其显示出来。我们使用 requests 模块其实就是在模仿客户端和服务器的这个过 程。客户端发送请求主要有两种请求方法—get和post。get请求主要是从服务器去获取内容, 大多数的请求都是 get 请求,post 请求是向服务器提交一些内容,比如表单等。
第一个项目爬取百度
第一步:找到百度的url
https://www.baidu.com/
第二步:进入百度页面,按下F12或者鼠标右击选择检查
第三步:找到url然后复制看看是不是我们所需要的url(检查找到的url和我们要的网页一致不),是什么请求。
第四步:开始写代码
import requests
response = requests.get(url='https://www.baidu.com/s') #什么请求就写什么请求
第五步:我们还需要找到headers(请求头),如果没有请求头,服务器那边就会认为是机器在浏览网页,最主要的请求头就是ua和cookie
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36'
}
response = requests.get(url='https://www.baidu.com/',headers=headers)
下面是完整的代码
# 导包
import requests
# 请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36'
}
#发送请求获取响应
response = requests.get(url='https://www.baidu.com/',headers=headers)
# 打印内容
#print(response.text)
# 保存内容,写入文件
with open("baidu.html", 'w', encoding='utf-8') as f:
f.write(response.text)
# response.text 表示返回响应的内容
# response.content 表示二进制的内容
感谢各位大佬浏览,在这里抱拳了。下课!!!