爬空气知音网,爬上海天气 https://www.air-level.com/air/beijing 1.使用urllib3发送一个完整的请求,浏览器信息(本机浏览器信息), 超时时间设置为10S,重试次数设置为5,输出服务器返回状态码,和正文
时间: 2024-10-11 16:02:56 浏览: 60
学习笔记(12):21天搞定分布式Python网络爬虫-urllib库-Cookie原理讲解
首先,要爬取指定网站的数据,我们通常会利用Python的requests库,而不是直接使用urllib3,因为requests更易用。对于URL `https://www.air-level.com/air/beijing`,这里是一个基本的例子说明如何发送请求:
```python
import requests
# 定义浏览器头信息,模拟真实浏览器访问
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'}
# 设置超时时间为10秒,最大重试次数为5次
params = {
'timeout': 10,
'retries': 5,
'allow_redirects': True} # 允许重定向,以便获取完整页面内容
try:
response = requests.get('https://www.air-level.com/air/beijing', headers=headers, **params)
# 输出服务器返回的状态码
print(f"响应状态码:{response.status_code}")
# 输出正文,即HTML内容
print("网页正文:")
print(response.text)
except requests.exceptions.RequestException as e:
print(f"请求出错:{e}")
```
请注意,实际操作时可能会遇到如反爬机制、IP限制等问题,需要处理异常情况并可能需要适当调整请求参数。此外,直接爬取某些网站的数据可能涉及到法律和隐私问题,务必遵守相关规定。
阅读全文