Python爬虫实践:获取石家庄空气质量历史数据(13年至今)
生活随笔
收集整理的這篇文章主要介紹了
Python爬虫实践:获取石家庄空气质量历史数据(13年至今)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
import numpy
import csv
import timedef getdatawithtablehead(url):""" 該函數用于獲取帶表頭的數據 """html = urlopen(url)bsobj = BeautifulSoup(html, "lxml", from_encoding="gb18030") # 獲取BeautifulSoup對象tablelist = bsobj.findAll("tr") # 獲取所有的表格Dataset = []tablehead = tablelist[0].get_text().strip("\n").split("\n\n")Dataset.append(tablehead) # 獲取表頭dataset = []for datalist in tablelist[1:]:data = datalist.get_text().replace(" ", "").replace("\r\n", "").strip("\n").split("\n")dataset.append(data) # 獲取當月每一天的數據Dataset = numpy.row_stack((Dataset, dataset))return Datasetdef getdata(url):""" 該函數用于獲取不帶表頭的數據 """html = urlopen(url)bsobj = BeautifulSoup(html, "lxml", from_encoding="gb18030")tablelist = bsobj.findAll("tr")dataset = []for datalist in tablelist[1:]:data = datalist.get_text().replace(" ", "").replace("\r\n", "").strip("\n").split("\n")dataset.append(data)return datasetstart =time.clock()
# 長沙空氣質量指數(AQI)-PM2.5查詢地址:
starturl = "http://www.tianqihoubao.com/aqi/shijiazhuang.html"
html = urlopen(starturl)
bsobj = BeautifulSoup(html, "lxml") # 獲取BeautifulSoup對象
# 找到所有存放月度數據的網頁鏈接,并以列表的形式按月份先后順序保存這些鏈接
Sites = []
for link in bsobj.findAll(href=re.compile("^(/aqi/shijiazhuang-)")):site = "http://www.tianqihoubao.com" + link.attrs['href']Sites.append(site)
# 數組反轉
Sites.reverse()
print(Sites)
Dataset = getdatawithtablehead(Sites[0]) # 獲取表頭和第一個月度數據
for url in Sites[1:]:dataset = getdata(url)Dataset = numpy.row_stack((Dataset, dataset)) # 獲取所有月度數據csvfile = open("shijiazhuang.csv", "w") # 創建csv文件用于保存數據
try:writer = csv.writer(csvfile)for i in range(numpy.shape(Dataset)[0]):writer.writerow((Dataset[i, :])) # 將數據逐行寫入csv文件
finally:csvfile.close() # 關閉csv文件end = time.clock()print('Running time: %s Seconds' % (end - start))
原文地址:
https://blog.csdn.net/qq_36185831/article/details/79123144
https://blog.csdn.net/u013337691/article/details/51894453#commentsedit
總結
以上是生活随笔為你收集整理的Python爬虫实践:获取石家庄空气质量历史数据(13年至今)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 笔记本英雄联盟界面服务器停止运行,提示请
- 下一篇: 学习随笔-python动态爬取空气质量网