首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用python实现crunchbase数据的Web抓取

用python实现crunchbase数据的Web抓取
EN

Stack Overflow用户
提问于 2017-11-06 08:46:30
回答 1查看 6.4K关注 0票数 3

代码:

代码语言:javascript
运行
复制
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客户端错误:请求范围不能满足url:enum/anheuser-busch

EN

回答 1

Stack Overflow用户

发布于 2017-11-06 10:30:35

如果删除行response.raise_for_status(),您将从crunchbase接收以下输出:

原谅我们的打扰..。

当你浏览www.crunchbase.com的时候,你的浏览器让我们觉得你是个机器人。这种情况可能发生的原因有几个:

  • 你是个超级用户,以超人的速度浏览这个网站。
  • 您已经在web浏览器中禁用了JavaScript。
  • 第三方浏览器插件,如Ghostery或NoScript,正在阻止JavaScript运行。本支持文章提供了更多信息。

实际上,您是一个机器人,而不是Python请求,您应该尝试使用自己的API。

编辑

要使用crunchbase,您需要在这里注册:https://about.crunchbase.com/solutions/ --免费的基本访问许可证--应该足以根据文档访问组织。

注册后,您将拥有一个用户API密钥,然后您可以按以下方式提出请求:

key]

与您使用API进行的查询等价的内容如下:

代码语言:javascript
运行
复制
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的参考

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47132884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档