可以在URL中具有动态值的Scrape API
我尝试从URL中具有动态值的INSEE数据库中刮擦警笛信息。 状态代码必须为200或299。我的结果是无,无
。
import pandas as pd
import requests
def extract_siren_code(siren):
siren_recup, features = None, None
base_url = "https://api.insee.fr/entreprises/sirene/V3/siren/"
endpoint = f"{base_url}{siren}"
headers = {"Authorization": "Bearer <my bearer token>", "Accept": "application/json"}
response = requests.get(endpoint, headers=headers)
if response.status_code not in range(200, 299):
return None, None
try:
'''
This try block incase any of our inputs are invalid. This is done instead
of actually writing out handlers for all kinds of responses.
'''
results = response.json()['uniteLegale'][0]
print(results)
siren_recup = results['siren']
features = ['uniteLegale']
except:
pass
return siren_recup, features
siren_recup, features = extract_siren_code('824239214')
print(siren_recup, features)
I try to scrape siren information from the Insee database with a dynamic value in the URL.
The status-code have to be 200 or 299. The result that I have, is None, None
.
import pandas as pd
import requests
def extract_siren_code(siren):
siren_recup, features = None, None
base_url = "https://api.insee.fr/entreprises/sirene/V3/siren/"
endpoint = f"{base_url}{siren}"
headers = {"Authorization": "Bearer <my bearer token>", "Accept": "application/json"}
response = requests.get(endpoint, headers=headers)
if response.status_code not in range(200, 299):
return None, None
try:
'''
This try block incase any of our inputs are invalid. This is done instead
of actually writing out handlers for all kinds of responses.
'''
results = response.json()['uniteLegale'][0]
print(results)
siren_recup = results['siren']
features = ['uniteLegale']
except:
pass
return siren_recup, features
siren_recup, features = extract_siren_code('824239214')
print(siren_recup, features)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
实际上,有些公司只有一个
unitelegale
,而API由dict而不是一个dict的列表回复,因此您需要为这种情况添加条件:actually some companies have only one
uniteLegale
and the API reply by a dict instead of a list of one dict, so you need to add a condition for this case: