代码:
import requests
response= requests.get("https://www.crunchbase.com/search/people/field/organizations/num_employees_enum/anheuser-busch")
response.raise_for_status()
webFile =open('myFile.txt', 'wb')
for chunk in res.iter_content(10000):
webFile.write(chunk)
webFile.close()
我发现了以下错误:
requests.exceptions.HTTPError:416客户端错误:请求的范围不是 网址满意: https://www.crunchbase.com/search/people/field/organizations/num_employees_enum/anheuser-busch
答案 0 :(得分:4)
如果删除行response.raise_for_status()
,您将收到来自crunchbase的以下输出:
当您浏览 www.crunchbase.com 时,您的浏览器会让我们觉得您是一个机器人。这可能有几个原因:
事实上,你是一个机器人,而不是Python请求,你应该尝试使用自己的API。
修改强>
要使用crunchbase API,您需要在此处注册:https://about.crunchbase.com/solutions/免费的基本访问许可证应足以根据文档访问组织。
注册后,您将拥有用户API密钥,然后您可以按如下方式提出请求:
https://api.crunchbase.com/v3.1/organizations?user_key=[user_key]
使用API进行的查询等效于:
import json,requests
url = "https://api.crunchbase.com/v3.1/organizations/anheuser-busch"
params = dict(user_key="your_key")
resp = requests.get(url=url, params=params)
data = json.loads(resp.text)
webFile = open('myFile.txt', 'w')
for organization in data:
webFile.write(organization["num_employees_max"])
webFile.close()
我自己没有测试过,但它应该让你去。
以下是组织可用的所有数据:https://data.crunchbase.com/docs/organization
以下是开始使用API的参考:https://data.crunchbase.com/docs/using-the-api