python实现对网站进行请求
代码如下
import requests
def get_data(url, headers=None, params=None, timeout=10):
try:
res = requests.get(url, headers=headers, params=params, timeout=timeout)
res.raise_for_status()
return res.text
except requests.RequestException as e:
return f"请求失败{e}"
url = "https://www.xxx.com"
headers = {'User-Agent': 'Mozilla/5.0'}
get = get_data(url)
print(get)
-
url:
- 必需参数,指定目标网页的URL。
-
headers:
- 可选参数,默认值为
None
。 - 用于设置HTTP请求头,例如
User-Agent
。
- 可选参数,默认值为
-
params:
- 可选参数,默认值为
None
。 - 用于设置URL查询参数。如果不需要传递查询参数,可以忽略这个参数。
- 可选参数,默认值为
-
timeout:
- 可选参数,默认值为
10
秒。 - 用于设置请求的超时时间。
- 可选参数,默认值为
params
参数用法
params
参数是一个字典,用于指定URL中的查询参数。- 例如,
params={'q': 'python', 'page': '1'}
将会在请求的URL后面附加查询字符串?q=python&page=1
。
params=None
的意义
- 在函数定义中,
params=None
表示在调用函数时如果不提供params
参数,则默认不传递任何查询参数。 - 这种方式让函数更加灵活,可以根据需要选择是否传递查询参数。
response.raise_for_status()函数:
response.raise_for_status()
是 requests
库中的一个方法,用于处理HTTP响应。它的主要作用是检查响应的状态码,并在遇到HTTP错误状态码时抛出异常。这样可以帮助你更容易地处理和调试网络请求中的错误情况。