教你轻松使用 Python 的 requests 库

文摘   2024-12-25 23:29   辽宁  

教你轻松使用 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,用起来,很顺手!多试试就知道了。


小栗食养
日拱一卒,每天精进!
 最新文章