代码:
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()
我发现以下错误:
最佳答案
如果删除 response.raise_for_status()
行,您将从 crunchbase 收到以下输出:
请原谅我们的打扰...
当您浏览 www.crunchbase.com 时,您浏览器的某些方面让我们认为您是一个机器人。发生这种情况的原因有以下几个:
事实上,你是一个机器人,你应该尝试使用他们自己的 API,而不是 Python 请求。
编辑
要使用 crunchbase API,您需要在此处注册:https://about.crunchbase.com/solutions/ 免费基本访问许可证应该足以根据文档访问组织。
注册后,您将拥有一个用户 API key ,然后您可以按如下方式提出请求:
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
关于python - 使用 python 抓取 crunchbase 数据的网页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47132884/