全国空气质量AQI - PM2.5数据可视化源码
(1)编程环境为anaconda–Jupyter,以下源码已划分好,如使用Jupyter环境编写,请按照顺序写在不同代码块中,注意:若将程序写在一个代码块中,将无法运行!
(2)源码代码注释的部分为单步调试代码,想查看单个块执行得到的是什么数据的话,可以微改代码将数据直接print出来。
爬取天气网站数据并保存为.csv表格数据。
import time
import requests
from bs4 import BeautifulSoup
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
}#爬虫[Requests设置请求头Headers],伪造浏览器
# 把1转换为01
url= 'http://www.tianqihoubao.com/aqi/aqi_rank.html'
params = {
"show_ram":1}
response = requests.get(url,params=params, headers=headers)#访问url
#listData=[]
soup = BeautifulSoup(response.text, 'html.parser')#获取网页源代码
tr = soup.find('table',class_='b').find_all('tr')#.find定位到所需数据位置 .find_all查找所有的tr(表格)
# 去除标签栏
for j in tr[5:]: #表头为第0列
td = j.find_all('td')#td表格
num = td[0].get_text().strip() #遍历排名
city = td[1].get_text().strip() #遍历城市
AQI = td[2].get_text().strip() #遍历空气质量指数AQI
pm = td[3].get_text().strip() #遍历PM2.5浓度
AQI_rank = td[4].get_text() #遍历空气质量状况
province = td[5].get_text() #遍历省份
#listData.append([num,city,AQI,pm,AQI_rank,province])
#print (listData)
with open(r'./big_data.csv'