编写爬虫项目,从https://www.tianqi.com网站爬取某城市(自选)的天气预报数据,并把爬取到的天气数据写入本地文本文件weather.txt。
时间: 2024-04-01 22:33:11 浏览: 87
好的,我可以为您提供一个简单的Python爬虫示例代码,用于从https://www.tianqi.com网站获取某城市的天气预报数据,并将其写入本地文本文件weather.txt。以下是示例代码:
```python
import requests
from bs4 import BeautifulSoup
# 设置请求头,避免被网站禁止访问
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.36'}
# 输入要查询的城市名称
city_name = input("请输入查询的城市名称:")
# 构造请求URL
url = 'https://tianqi.com/' + city_name
# 发送请求并获取响应内容
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
# 解析HTML文档,获取天气预报数据
weather_data = soup.find_all(class_='wea_tips clearfix')[0].find_all('span')
weather = weather_data[0].string.strip() # 天气情况
temperature = weather_data[1].string.strip() # 温度
wind_direction = weather_data[2].string.strip() # 风向
wind_power = weather_data[3].string.strip() # 风力
# 将天气预报数据写入本地文本文件
with open('weather.txt', 'w', encoding='utf-8') as f:
f.write('城市:' + city_name + '\n')
f.write('天气情况:' + weather + '\n')
f.write('温度:' + temperature + '\n')
f.write('风向:' + wind_direction + '\n')
f.write('风力:' + wind_power + '\n')
print('天气预报数据已写入本地文本文件weather.txt')
```
您可以根据自己的需要修改代码,例如更改请求URL、解析HTML文档的方式等。另外,请注意在爬取网站数据时要遵守相关法律法规和网站的使用条款,避免对网站造成不利影响。
阅读全文