请给出一段爬取北京地区2014年到2022年天气和湿度的代码,数据使用csv格式保存到本地,并且需要伪装成浏览器
时间: 2024-03-30 18:37:53 浏览: 17
好的,以下是一段使用Python爬取北京地区2014年到2022年天气和湿度的代码示例,数据保存为csv格式并伪装成浏览器:
```python
import requests
import csv
from fake_useragent import UserAgent
from bs4 import BeautifulSoup
# 设置请求头,伪装成浏览器进行访问
headers = {
'User-Agent': UserAgent().random,
}
# 待爬取的URL
url = 'http://www.tianqihoubao.com/lishi/beijing.html'
# 发送GET请求,获取网页内容
response = requests.get(url, headers=headers)
# 使用BeautifulSoup解析网页内容
soup = BeautifulSoup(response.text, 'html.parser')
# 查找所有的天气数据行
weather_list = soup.find_all('tr')[1:]
# 创建csv文件,并写入表头
with open('weather.csv', 'w', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['日期', '天气', '最高温度', '最低温度', '湿度'])
# 遍历每一行数据,将数据写入csv文件
for weather in weather_list:
data = weather.find_all('td')
date = data[0].text.strip()
weather = data[1].text.strip()
max_temp = data[2].text.strip().replace('℃', '')
min_temp = data[3].text.strip().replace('℃', '')
humidity = data[7].text.strip()
writer.writerow([date, weather, max_temp, min_temp, humidity])
print('数据已保存到weather.csv文件中。')
```
需要注意的是,本例中使用了Fake UserAgent库来生成随机请求头,以避免被网站屏蔽。同时,为了方便处理数据,本例中使用了Python内置的csv库来写入csv文件,你可以根据自己的需要修改代码。