requestsget的库
时间: 2024-12-29 10:21:29 浏览: 6
### Python `requests` 库中的 GET 方法使用教程
#### 请求网页资源
为了获取网络上的资源,可以利用 `requests.get()` 函数发送 HTTP/HTTPS 请求到指定 URL 地址。此函数会创建并发出一个 Request 对象给目标服务器,并接收来自该位置的数据作为 Response 对象返回[^1]。
```python
import requests
response = requests.get('https://www.example.com')
print(response.status_code) # 输出状态码
print(response.text) # 打印响应体内容
```
#### 带查询字符串参数的GET请求
当需要附带额外的信息来定制化请求时,比如传递搜索关键词或者其他过滤条件,则可以通过设置 `params` 参数为字典形式来进行附加操作。注意这里应当采用 `params=` 而不是 `data=` ,因为后者适用于 POST 请求场景下的表单数据提交[^2]。
```python
payload = {'key1': 'value1', 'key2': 'value2'}
response_with_params = requests.get('http://httpbin.org/get', params=payload)
print(response_with_params.url) # 查看实际构建出来的URL地址
print(response_with_params.content) # 获取二进制格式的内容
```
#### 设置自定义头部信息和其他选项
除了基本的功能外,还可以进一步配置更多高级特性,例如修改 User-Agent 字段模拟浏览器访问行为、设定超时时间防止长时间等待等问题的发生。这些都可以通过向 `get()` 提供更多的关键字参数实现,如 headers 和 timeout 等[^3]。
```python
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
}
timeout_seconds = 5
custom_request = requests.get(
'https://api.github.com',
headers=headers,
timeout=timeout_seconds
)
```
#### 处理字符集编码问题
有时从 Web 上抓取下来的文字可能会遇到乱码的情况,默认情况下某些网站可能不会正确声明其使用的字符集。这时就需要手动调整 response 的 `.encoding` 属性以确保能够正常解析 HTML 页面或其他文本文件[^4]。
```python
bad_encoding_response = requests.get('some_url_that_returns_garbled_text')
corrected_encoding_response.encoding = 'utf-8' # 或者其他合适的编码方式
print(corrected_encoding_response.text)
```
阅读全文