用python爬空气知音网,爬上海天气 https://www.air-level.com/air/beijing 1.使用urllib3发送一个完整的请求,浏览器信息(本机浏览器信息), 超时时间设置为10S,重试次数设置为5,输出服务器返回状态码,和正文
时间: 2024-10-11 08:03:16 浏览: 42
python爬虫练习:爬图片
在Python中,我们可以使用`requests`库来模拟HTTP请求,包括访问网站并获取状态码和内容。`urllib3`是`requests`的一个低级模块,用于处理底层的HTTP连接,但直接操作会比较复杂。这里我会展示如何使用`requests`库来完成这个任务:
```python
import requests
# 网页URL
url = "https://www.air-level.com/air/beijing"
# 设置浏览器头信息,通常可以不用设置,此处为了模拟浏览器行为添加
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.3'
}
# 设置超时时间和重试次数
timeout = 10 # 单位秒
retries = 5
response = requests.get(url, headers=headers, timeout=timeout, allow_redirects=True, retry=total(retries, backoff_factor=0.1))
# 检查响应状态码
if response.status_code == 200:
print(f"服务器返回状态码: {response.status_code}")
else:
print(f"请求失败,状态码: {response.status_code}")
# 输出网页正文
try:
content = response.text
print("正文: ")
print(content)
except UnicodeDecodeError:
print("解码正文时遇到错误")
阅读全文