教你轻松使用 Python 的 requests 库
嘿,今天我们来聊聊 Python 里的 requests 库。你可能听说过它,很多人在做网络请求时都爱用它。为什么?因为它简单直接,没那么多弯弯绕。
什么是 requests?
其实 requests 就是一个帮你给网站发请求的工具。你可以用它来模拟浏览器行为,比如你想从某个网页抓点数据啊,或者是给某个 API 发送一些信息,都可以用 requests 来搞定。
安装 requests
先说怎么装,其实特别简单。你在命令行里敲这一句就行了:
pip install requests
对,你没看错,就这一行,搞定。安装好了之后,你就可以在代码里用了。
怎么用 requests?
举个简单的例子吧,比如你想获取某个网页的内容,像 Google 吧(当然你可以换成别的网站)。就这么几行代码:
import requests
response = requests.get('https://www.google.com')
print(response.text)
看到没?我们用 requests.get()
方法获取了 Google 的网页内容,然后用 response.text
打印出来。这段代码已经能让你看到网页的 HTML 源代码了,很简单对吧?
添加参数和请求头
有些时候,你可能不仅仅是想简单地获取网页,你可能还想传一些参数或者添加请求头。比如有些网站会检查你是不是“真实”的浏览器访问,这时候就可以模拟一个浏览器的请求头。你可以这么写:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
response = requests.get('https://www.google.com', headers=headers)
print(response.text)
上面的代码里,我们加了个 headers
,告诉网站“嘿,我是个 Chrome 浏览器”。你看,这么简单的操作就能假装自己是“真人”访问了。
处理 POST 请求
当然,网页请求有时候不光只是 GET,你可能还要发一些数据给服务器,这就需要用 POST 方法了。简单的例子:
data = {
'username': 'my_username',
'password': 'my_password'
}
response = requests.post('https://example.com/login', data=data)
print(response.text)
在这里,我们用 requests.post()
发送了一些数据到 https://example.com/login
,可以模拟登录之类的操作。
错误处理
每次请求都有可能出问题,比如服务器没响应啊、地址错误啊什么的,requests 也为你考虑到了。你可以用 try-except 来处理错误:
try:
response = requests.get('https://wrongurl.com')
response.raise_for_status()# 检查请求是否成功
except requests.exceptions.HTTPErroras errh:
print("Http Error:", errh)
except requests.exceptions.ConnectionErroras errc:
print("Error Connecting:", errc)
except requests.exceptions.Timeoutas errt:
print("Timeout Error:", errt)
except requests.exceptions.RequestExceptionas err:
print("Something went wrong:", err)
这套代码就是专门用来处理各种请求错误的情况。你在操作中可能会遇到很多小问题,但有了这一套就基本能解决。
小结
好了,requests 就说到这儿了。其实就是几个常见的操作——发请求、加参数、处理数据、抓取内容、处理错误。一旦掌握了这些基础操作,90% 的网页请求任务你都能搞定。对于那些更高级的功能,你也可以自己深入研究,比如会话管理、代理、SSL 证书验证等等,但最根本的还是咱们今天聊的这些。
总之,别害怕 requests,用起来,很顺手!多试试就知道了。