实时抓取空气质量数据

时间:2018-03-11 23:21:47来源:杰瑞文章网点击:作文字数:300字
利用如下网址来获取某个城市的空气质量 http://pm25.in/ 人家本来是提供了API的,而且也有公共Token可以让人测试,但是我觉得调人家接口有点不好意思,反正我只要数据,也就不占用人家的服务了(哈哈,就是把爬虫说的这么清新脱俗),真的,你看我最后的time.sleep(1*60)就知道我真的不是那种恶意把人家服务器搞趴的坏人。 代码如下 # -*- coding: utf-8 -*- from lxml import etree import requests import sys import json import datetime import hashlib import time # 指定默认编码方式为utf-8 reload(sys) sys.setdefaultencoding('utf-8') # 从网站获取空气状况 def get_pm(city='hangzhou'): # 输入参数为城市全拼 url = 'http://pm25.in/' + city response = requests.get(url) # 获取指定网址的html html = etree.HTML(response.text) table_result = html.xpath('//table[@id="detail-data"]') # 获取数据表 table = table_result[0] head_results = table.xpath('thead/tr/th') # 获取表头 records = table.xpath('tbody/tr') # 获取记录 air_record = {} # 定义字典 air_records = [] # 定义列表 for record in records: # 遍历记录 for i in range(0, len(head_results)): # 遍历字段 air_record[head_results[i].text] = record.xpath('td')[i].text air_records.append(air_record) air_record = {} # 清空变量的缓存 return air_records # 加时间戳输出文件 def file_output(text, target_dir=''): current_time = datetime.datetime.now() file_name = current_time.strftime('%Y%m%d%H%M') + '.json' output_file = open(target_dir + file_name, 'w') output_file.write(text) output_file.close() # 校验是否更新 def is_update(current, original=''): md5_of_original = hashlib.md5(original).hexdigest() md5_of_current = hashlib.md5(current).hexdigest() if md5_of_current == md5_of_original: return False else: return True # 定时任务 original_records_json = '' # 对比原数据初始化 while True: current_records = get_pm() # 获取数据 current_records_json = json.dumps(current_records, ensure_ascii=False, indent=2) # 转化为JSON格式 if is_update(current_records_json, original_records_json): # file_output(current_records_json) print datetime.datetime.now().strftime('%Y%m%d%H%M') # 时间戳 print current_records_json # 数据输出 original_records_json = current_records_json # 对比数据更新 else: print datetime.datetime.now().strftime('%Y%m%d%H%M') print u'数据尚未更新' time.sleep(1*60) 最后还是非常感谢BestApp工作室的PM25.in这个作品,因为我根本没办法在其他网站找到这么方便的数据获取方式,其实根本原因就是国家环境保护部的网站太乱,(冏)。
作文投稿

实时抓取空气质量数据一文由杰瑞文章网免费提供,本站为公益性作文网站,此作文为网上收集或网友提供,版权归原作者所有,如果侵犯了您的权益,请及时与我们联系,我们会立即删除!

杰瑞文章网友情提示:请不要直接抄作文用来交作业。你可以学习、借鉴、期待你写出更好的作文。

说说你对这篇作文的看法吧