获取数据有多种方式,有API最好了!没有的时候才使用爬虫

下面是利用美国劳工局的API获取数据,例子代码其实官方给的.

但是官网给的并不能运行,有缩进错误等问题.下面给出我调试后的代码

1.获取格式化的数据最重要

2.,json_pretty()里的代码,只处理了一部分数据.建议根据需要自己写

3.三个data_dict都是有效的,是三种查询方式

# -*- coding:utf-8 -*-
#这是美国劳工局的API,原来的代码在if 'M01' <= period <= 'M12':这一行被引号引起来了,导致出错
#来源 https://www.bls.gov/developers/api_python.htm#python2
#如何获得所需数据的 seriesid: https://www.bls.gov/help/hlpforma.htm
''' 通过seriesid代码的修改,我们可以得到下面这些方面的数据Employment & UnemploymentInflation & PricesSpending & Time UsePay & BenefitsProductivityWorkplace InjuriesOccupational RequirementsInternational
'''
import requests
import json
import prettytable
headers = {'Content-type': 'application/json'}
# data_dict = {"seriesid": ['CUUR0000SA0','SUUR0000SA0'],"startyear":"2011", "endyear":"2014"}
# data_dict ={"seriesid":["LAUCN040010000000005", "LAUCN040010000000006"],\
#             "startyear":"2010",   "endyear":"2012",  "catalog":False,\
#             "calculations":True,  "annualaverage":True}data_dict = {"seriesid":['LAUCN040010000000005']}
#官网提供的例子中registrationkey是一个已经不存在的key,不要这个就好了
data = json.dumps(data_dict)p = requests.post('https://api.bls.gov/publicAPI/v2/timeseries/data/', data=data, headers=headers)
json_data = json.loads(p.text)json_pretty()
def json_pretty():#用于将json数据表格化,其实重点还是获取想要的json数据,不是这个函数for series in json_data['Results']['series']:x=prettytable.PrettyTable(["series id","year","period","value","footnotes"])seriesId = series['seriesID']for item in series['data']:year = item['year']period = item['period']value = item['value']footnotes=""for footnote in item['footnotes']:if footnote:footnotes = footnotes + footnote['text'] + ','if 'M01' <= period <= 'M12':x.add_row([seriesId,year,period,value,footnotes[0:-1]])# output = open(seriesId + '.txt','w')output = open(seriesId + '_ceshi.txt', 'w')output.write (x.get_string())output.close()

利用美国劳工局的API获取数据相关推荐

  1. python 实现对地图的点击_利用python和百度地图API实现数据地图标注的方法

    如题,先上效果图: 主要分为两大步骤 使用python语句,通过百度地图API,对已知的地名抓取经纬度 使用百度地图API官网的html例程,修改数据部分,实现呈现效果 一.使用python语句,通过 ...

  2. C# WPF从RIOT API获取数据(RIOT代表作品《英雄联盟》)

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. C# WPF从RIOT API获取数据(RIOT代表作品<英雄联盟>) 阅读导航 ...

  3. 前端js调用后端API获取数据的三种方法(2022.7.25)

    前端js调用后台API获取数据的三种方法(2022.7.25) 前言 需求分析 一个Get实例 浏览器请求 SoapUI软件请求 一个Post实例 浏览器请求 SoapUI软件请求 1.Http简介( ...

  4. Java 接受reactjs数据_ReactJS:从API获取数据

    我在使用简单的标准模板获取API数据的React应用程序中从API获取数据时遇到了困难 . 控制台日志返回的结果是空白数组 . import React, {Component} from 'reac ...

  5. vue根据url获取内容axios_使用Vue.js和Axios从第三方API获取数据 — SitePoint

    更多的往往不是,建立你的JavaScript应用程序时,你会想把数据从远程源或消耗一个[ API ](https:/ /恩.维基百科.org /维基/ application_programming_ ...

  6. 使用api获取数据————小程序

    使用api获取数据----小程序 onLoad: function (options) { //打开页面即执行.let that = this;wx.request({ //建立链接url: 'htt ...

  7. 请求头没有origin参数_在尝试从REST API获取数据时,请求的资源上没有“Access-Control-Allow-Origin”标头...

    在尝试从REST API获取数据时,请求的资源上没有"Access-Control-Allow-Origin"标头 我试图从HP Alm的REST API中获取一些数据. 它用一个 ...

  8. 利用飞讯语义识别API 获取微小说所有角色名

    利用飞讯语义识别API 获取微小说所有角色名 1.代码: #!/usr/bin/python # -*- coding: UTF-8 -*-import os, sys import math imp ...

  9. java aoi 服务器地图_GitHub - WanZixin/getShp: 利用高德地图web服务API获取坐标串,生成行政区和aoi的shp文件...

    爬取数据生成shp文件 1.功能简介 共有两大功能,一个功能是根据高德地图web服务API获取行政区划坐标串,写入行政区shp文件:另一个功能是根据高德地图的接口获取poi坐标串,写入aoi(area ...

最新文章

  1. NET::ERR_CACHE_MISS
  2. python去重txt文本_Python 文件去重(转载)
  3. web开发·基本网页实现(基于CSS盒子模型+PS辅助使用)
  4. [Mummy Maze] 宽度优先搜索
  5. json_decode php数组,json_decode转化为数组加true,json_encode和json_decode区别
  6. 用html编写输出今天是星期几,利用Date对象编写程序,判断并输出今天是开学的第几周,星期几。...
  7. python写进程_将数据作为后台进程在Python中写入磁盘
  8. 女程序员在GitHub提交PR更易被拒?开源世界“她”力量
  9. 特定时间循环增加一个时间段值
  10. ISOIEC27000标准族的介绍与进展
  11. swf转换mp4 linux,转换FLA文件,以.swf文件在Linux上
  12. mac安装绿联USB转以太网驱动
  13. 无人机设计过程中的计算和假设
  14. Rational Rose安装教程
  15. LaTeX:使用bib插入文献
  16. Access数据库压缩失败后修复经历
  17. python实现10进制转换2进制(两种方法)
  18. linux最后一行awk,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  19. 微信小程序,小游戏数据助手数据爬取!还敢随便授权小游戏吗?
  20. linux 命令行 英语词典

热门文章

  1. 背包问题(贪心算法)
  2. 2018dnf服务器维护时间,DNF12月27日更新到几点
  3. python调用接口查询_基于Python的苹果序列号官网查询接口调用代码实例
  4. python调用matlab工具库_Python第三方常用工具、库、框架等
  5. 最简单DIY基于ESP8266的物联网智能小车①(webserver服务器网页简单遥控版)
  6. 在登录的状态下获取登录的个人信息
  7. 教师资格证计算机知识,教师资格证笔试大纲《信息技术学科知识与教学能力》(高级中学)...
  8. 纸上得来终觉浅,绝知此事要躬行 javadec
  9. 聊聊银行的信息科技岗(含各大银行薪资)
  10. AFS10射频高频功放管 的阻抗特性