我尝试抓取Kickstarter的故事和风险数据。我使用这样的API方法:
但是这些天我发现它返回“无”的结果。我无法得到任何结果。
它在 Kickstarter API 中是否发生了变化。我尝试请求网络,但我发现它添加了“人或机器人”块。请帮忙。
我尝试抓取Kickstarter的故事和风险数据。我使用这样的API方法:
但是这些天我发现它返回“无”的结果。我无法得到任何结果。
它在 Kickstarter API 中是否发生了变化。我尝试请求网络,但我发现它添加了“人或机器人”块。请帮忙。
请注意,使用 API 和抓取网站是不同的事情。所以看起来你没有使用 API。请注意这一点,因为 API 是专门为允许您获取数据而设计的,并且不会试图阻止您这样做;而很多时候,网站会试图阻止你抓取,因为它会增加他们的数据账单,但不是“真正的用户”……通常这会违反他们的服务条款。
但是,在没有可用 API 的情况下,该网站正在积极尝试阻止您进行抓取,但您仍然想继续……那么您仍然可以在技术上做到这一点。
在您的情况下,您提到看到“人或机器人”消息。这意味着他们有时或总是显示“验证码”。您可以通过使用“验证码解决”服务来解决此问题。基本上,公司已经设置了一大堆低薪自由职业者,整天点击“我是人类”。只需搜索 Google,您就会发现提供了很多服务。
我发现其中一些服务非常好,通常可以在不到 30 秒的时间内可靠地解决验证码。他们中的大多数将提供多种语言(包括 python)的示例 API 代码,以便您可以轻松地集成您的代码。
基本上你的代码会像这样流动:
请注意,您应该确保您的网络抓取工具正在使用 cookie,以便您可以在整个抓取过程中保持会话,这有望最大限度地减少您点击的验证码数量。
你可能还需要使用代理来改变你的 IP 地址,这样你就不会总是从同一个 IP 上抓取数据。