-1

我尝试抓取Kickstarter的故事和风险数据。我使用这样的API方法:

如何从 Kickstarter 网页上抓取所有图片网址?

但是这些天我发现它返回“无”的结果。我无法得到任何结果。

它在 Kickstarter API 中是否发生了变化。我尝试请求网络,但我发现它添加了“人或机器人”块。请帮忙。

4

1 回答 1

0

请注意,使用 API 和抓取网站是不同的事情。所以看起来你没有使用 API。请注意这一点,因为 API 是专门为允许您获取数据而设计的,并且不会试图阻止您这样做;而很多时候,网站会试图阻止你抓取,因为它会增加他们的数据账单,但不是“真正的用户”……通常这会违反他们的服务条款。

但是,在没有可用 API 的情况下,该网站正在积极尝试阻止您进行抓取,但您仍然想继续……那么您仍然可以在技术上做到这一点。

在您的情况下,您提到看到“人或机器人”消息。这意味着他们有时或总是显示“验证码”。您可以通过使用“验证码解决”服务来解决此问题。基本上,公司已经设置了一大堆低薪自由职业者,整天点击“我是人类”。只需搜索 Google,您就会发现提供了很多服务。

我发现其中一些服务非常好,通常可以在不到 30 秒的时间内可靠地解决验证码。他们中的大多数将提供多种语言(包括 python)的示例 API 代码,以便您可以轻松地集成您的代码。

基本上你的代码会像这样流动:

  1. 访问您要抓取的网页
  2. 检查您是否打了验证码
  3. 将验证码数据发送到解析服务 API
  4. 提交验证码结果接收到网页
  5. 授予对网页的访问权限并开始抓取

请注意,您应该确保您的网络抓取工具正在使用 cookie,以便您可以在整个抓取过程中保持会话,这有望最大限度地减少您点击的验证码数量。

你可能还需要使用代理来改变你的 IP 地址,这样你就不会总是从同一个 IP 上抓取数据。

于 2022-01-26T10:30:39.400 回答