拉美国人口普查API时的400状态码

2024-09-30 10:36:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用census API提取与CB1100A11表相同的就业数据(附屏幕截图)。此表的每一行表示一个不同的2位NAICS扇区。尽管构造这个表完全是另一项任务,但当我包含其他变量时,似乎无法获取API数据

我在人口普查局提供的每一项调查中都取得了成功,但在我自己的调查中却没有取得任何成功。我在下面包含了一个代码片段,减去我的键,以显示这是什么样子。我在Jupyter笔记本中使用python3,在BeautifulSoup中使用BS4

我已经咨询过API users documentationvariable list了,但没有成功

example_vars = 'NAICS2007_TTL,GEO_TTL,EMP,LFO_TTL,ESTAB,PAYANN'
my_vars = 'NAICS2007,NAICS2007_TTL,GEO_TTL,EMP,LFO_TTL,ESTAB,PAYANN'

county_fips = '027'
state_fips = '42'
key ='str'

url= 'https://api.census.gov/data/2011/cbp?get='+my_vars+'&for=county:'+county_fips+'&in=state:'+state_fips+'&key='+key

res = requests.get(url)
res.status_code

当我添加其他变量如NAICS2007时,我收到一个状态码400,但是当我使用示例变量时,我得到一个200。有人能帮忙吗

image of the CB1100A11 table


Tags: 数据keyapivarsgeostatecensusttl
1条回答
网友
1楼 · 发布于 2024-09-30 10:36:05

这应该转移到评论(我不能评论代表的bc),但是作为与美国人口普查API密切合作的人,我强烈建议使用人口普查库:

https://github.com/datamade/census

我的一个查询如下所示(其中acs1dp是我要查询的数据库):

    from census import Census 

    conn = Census("MY API KEY")

    name = 'NAME'
    agriculture = 'DP03_0033PE'
    laborForce = 'DP03_0003PE'
    travelTime = 'DP03_0025E'
    highSchool = 'DP02_0066PE' 
    unemployed = 'DP03_0009PE'
    poverty = 'DP03_0128PE'

    payload = conn.acs1dp.get((name, travelTime, agriculture, poverty, 
    unemployed, laborForce, highSchool), {'for': 'state:*'})

返回所有状态的每个列值

相关问题 更多 >

    热门问题