访问“https://www.air-level.com/”网站,编写程序,由用户输入城市名称,爬取并输出该城市的空气质量数据 用python语言
时间: 2024-04-05 08:32:48 浏览: 219
好的,你需要使用 Python 的 requests 库和 BeautifulSoup 库来进行网页爬取和数据解析。以下是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
city_name = input("请输入城市名称:")
# 发送 GET 请求,获取网页内容
url = f"https://www.air-level.com/city/{city_name}"
response = requests.get(url)
# 解析 HTML 页面
soup = BeautifulSoup(response.text, "html.parser")
# 查找空气质量数据所在的标签
aqi_div = soup.find("div", class_="aqi")
# 判断是否找到了该标签
if aqi_div:
aqi = aqi_div.text.strip()
print(f"{city_name}的空气质量数据为:{aqi}")
else:
print(f"找不到{city_name}的空气质量数据")
```
代码解释:
- 用户输入城市名称,存储在 `city_name` 变量中。
- 使用 f-string 构造 URL,发送 GET 请求获取网页内容,存储在 `response` 变量中。
- 使用 BeautifulSoup 解析网页内容,存储在 `soup` 变量中。
- 查找 `class` 属性为 `"aqi"` 的 `div` 标签,存储在 `aqi_div` 变量中。
- 判断是否找到该标签,如果找到,提取文本内容,并输出空气质量数据;否则,输出提示信息。
需要注意的是,该网站对请求进行了反爬虫处理,需要在请求头中添加 User-Agent 信息。可以使用如下代码添加请求头:
```python
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"
}
response = requests.get(url, headers=headers)
```
这样就可以成功爬取该网站的空气质量数据了。
阅读全文