问题标签 [apify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
808 浏览

javascript - APIFY 中的 scrapeAndClick 函数

我在 APIFY 中遇到了以下问题。我想编写一个函数来保存当前页面的 HTML 正文,然后单击到下一页,保存 HTML 正文等。

我试过这个:

在 Google Chrome 控制台中,它只返回第一页的 HTML 正文。APIFY 不返回任何内容。

谁能看到,问题出在哪里?

如果有人对整个 Page 功能感兴趣:

StartURL 是这样的:https ://mijn.rvo.nl/europese-subsidies-2017

我在 APIFY 论坛(https://forum.apify.com/t/clickable-link-that-doesnt-change-the-url/361/3)上发现了一个老问题,但似乎是在旧版本上完成的APIFY 爬虫。

非常感谢您的帮助!

0 投票
1 回答
825 浏览

web-scraping - 工作几个月后,Apify 任务突然返回 403 和 503 错误

不知道为什么会这样。几个月来我每天都在使用它,今天早上它突然坏了。它返回以下错误。

CrawlerError:页面无法打开(状态:失败,url:https ://history.com/this-day-in-history/,lastResourceError:{“errorCode”:403,“errorString”:“下载https时出错://history.com/this-day-in-history/ - 服务器回复:Service Unavailable","id":1,"status":503,"statusText":"Service Unavailable","url":" https ://history.com/this-day-in-history/ "}, lastResourceTimeoutResponse: null)

代码中没有任何变化,网站仍然正常运行。它是否有任何原因可能会突然停止工作?

0 投票
1 回答
836 浏览

apify - 提供 Apify Actor 处理状态持久化的示例

Apify 文档建议处理

状态持久性: 与传统的无服务器平台不同,参与者对参与者运行的持续时间没有限制。然而,这意味着一个actor可能需要不时地重新启动,例如当它正在运行的服务器要关闭时。参与者需要考虑这种可能性。对于短期运行的actors,重启的机会非常低,重复运行的成本也很低,因此可以忽略重启。但是,对于长时间运行的 Actor 而言,重新启动可能会非常昂贵,因此这些Actor 应该定期将其状态保持在与 Actor 运行关联的键值存储中。开始时,actors 应该首先检查是否存储了一些状态,如果有,他们应该从中断的地方继续

请提供一个演员的例子:

  • 定期保存它们的状态,可能保存到关联的键值存储
  • 在开始时,actors 应该首先检查是否存储了一些状态
  • 从他们离开的地方继续
0 投票
1 回答
894 浏览

rest - Apify API 请求正文

我的请求正文应该在以下 API 请求中是什么?

API 请求

我的目标是通过使用 Apify API 发送服务器请求来远程运行任务。这是我为 API 调用引用的文档。

我期望的结果是一个服务器响应,其中包含我手动运行任务时获得的相同数据集。具体来说,该数据集如下所示。

预期结果

下面是我得到的实际结果的屏幕截图。请注意 201 响应代码和响应正文中突出显示的部分:

{ bar: 'foo' }

实际结果

在此处输入图像描述

我究竟做错了什么?我的请求正文应该是什么?

0 投票
0 回答
852 浏览

web-scraping - Apify 指纹欺骗

我在 Apify 云上创建了一个 Actor,需要从使用防刮保护的站点收集数据。发现这篇文章https://help.apify.com/en/articles/1961361-several-tips-how-to-bypass-website-anti-scraping-protections 但这对我来说还不够。我需要随机化字体、画布、webgl、音频上下文指纹。有没有办法用 apify 做到这一点?

0 投票
1 回答
821 浏览

apify - 我如何将 apify 演员输出保存到 s3 或谷歌存储桶

我创建了 apify 演员,它将输出保存在 apify 云中,但我想将输出保存在我的 s3 帐户或谷歌存储桶中。感谢您的帮助

0 投票
2 回答
920 浏览

javascript - 如何使用 Google App Script 在 Apify 中创建搜索词

我正在尝试使用 Google App Script 通过将搜索词设为变量来更改 Apify Google Search Scraper 中的搜索查询。https://apify.com/apify/google-search-scraper

我想看看我是否可以通过它的代码引用它。https://github.com/apifytech/actor-google-search-scraper/blob/master/src/main.js

我得到这个

我的代码

我需要改变什么?

0 投票
1 回答
882 浏览

google-apps-script - 如何通过 API 更改 Apify 演员参数

我想调用 Apify 演员并通过调用 Apify API 来指定参数值。

演员是位于此处的 Google Search Results Scraper

这是文档说用作queriesAPI 调用有效负载中的对象属性名称的地方。

下表显示了由其输入模式定义的参与者 INPUT 字段的规范。当使用 API 运行 actor 时,可以 [...] 在 JSON 对象中提供这些字段。在文档中阅读更多内容。

...

搜索查询或 URL

Google 搜索查询(例如纽约市的食物)和/或完整 URL(例如https://www.google.com/search?q=food+NYC)。

每行输入一项。

可选
类型:字符串

JSON 示例

运行我的 Google Apps 脚本代码后,我希望看到searchQueries.term参数发生如下变化。

Apify——我期望看到的

但我实际得到的是与上次手动运行actor时相同的参数值。如下。

Apify——我实际看到的

这是我从 Google Apps 脚本运行的代码。

代码.gs

我究竟做错了什么?

0 投票
1 回答
742 浏览

javascript - Apify爬取后如何重命名输出文件?

我搜索了 Apify 文档,但找不到设置输出文件名的方法。现在它是 {INDEX}.json 但我可以为 Apify 抓取的每个页面设置一个自定义名称吗?

0 投票
1 回答
853 浏览

javascript - 使用 Apify Puppeteer 爬行的内存问题

我一直在做一个 Python 项目,用户向程序提供一长串 URL(比如说 100 个 URL),程序将生成 100 个进程来执行包含爬虫代码的 JavaScript 代码(使用Apify.launchPuppeteer())。此外,JavaScript 代码是基于 Apify Puppeteer 单页模板创建和修改的。

但是,100个进程同时调用爬取代码会占用大量内存,导致卡顿。由于 Python 代码正在等待从 JavaScript 代码写入的文件中读取结果,因此内存不足会极大地影响性能并引发文件写入错误。我想知道是否有任何方法可以优化 JavaScript 爬虫代码,或者是否可以对双方进行任何改进?

一些编辑 --- 关于程序的额外信息:用户正在给出一个 URL(域)列表,并且程序想要递归地爬取域中的所有链接(例如,爬取域 github.com 中的所有超链接)。