请给出一段北京地区2014年到2022年湿度的爬取代码,并且数据以csv文件的格式保存在本地,并且需要将爬虫伪装成浏览器
时间: 2024-03-30 12:38:06 浏览: 19
好的,以下是一个爬取北京地区2014年到2022年湿度并保存为csv文件的代码,同时也包含了伪装成浏览器的部分:
```python
import requests
import csv
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.3'}
# 构造url
url = 'https://www.tianqi.com/beijing/201{}.html'
# 保存数据的列表
data_list = [['日期', '湿度']]
# 爬取2014年到2022年的湿度数据
for year in range(2014, 2023):
# 构造完整的url
full_url = url.format(year)
# 发送请求
response = requests.get(full_url, headers=headers)
# 解析网页
soup = BeautifulSoup(response.content, 'html.parser')
tr_list = soup.find_all('tr', class_='hd')
# 获取湿度数据
for tr in tr_list:
td_list = tr.find_all('td')
date = td_list[0].text.strip()
humidity = td_list[6].text.strip()
data_list.append([date, humidity])
# 将数据保存为csv文件
with open('beijing_humidity.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerows(data_list)
```
这段代码会将北京地区2014年到2022年的湿度数据爬取下来并保存为csv文件,文件名为`beijing_humidity.csv`。同时,我们在请求头中设置了User-Agent信息,以伪装成浏览器,避免被网站反爬虫机制封禁IP。