问题标签 [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.
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 爬虫。
非常感谢您的帮助!
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)
代码中没有任何变化,网站仍然正常运行。它是否有任何原因可能会突然停止工作?
apify - 提供 Apify Actor 处理状态持久化的示例
Apify 文档建议处理
状态持久性: 与传统的无服务器平台不同,参与者对参与者运行的持续时间没有限制。然而,这意味着一个actor可能需要不时地重新启动,例如当它正在运行的服务器要关闭时。参与者需要考虑这种可能性。对于短期运行的actors,重启的机会非常低,重复运行的成本也很低,因此可以忽略重启。但是,对于长时间运行的 Actor 而言,重新启动可能会非常昂贵,因此这些Actor 应该定期将其状态保持在与 Actor 运行关联的键值存储中。开始时,actors 应该首先检查是否存储了一些状态,如果有,他们应该从中断的地方继续。
请提供一个演员的例子:
- 定期保存它们的状态,可能保存到关联的键值存储
- 在开始时,actors 应该首先检查是否存储了一些状态
- 从他们离开的地方继续
rest - Apify API 请求正文
我的请求正文应该在以下 API 请求中是什么?
API 请求我的目标是通过使用 Apify API 发送服务器请求来远程运行任务。这是我为 API 调用引用的文档。
我期望的结果是一个服务器响应,其中包含我手动运行任务时获得的相同数据集。具体来说,该数据集如下所示。
预期结果下面是我得到的实际结果的屏幕截图。请注意 201 响应代码和响应正文中突出显示的部分:
实际结果
{ bar: 'foo' }
我究竟做错了什么?我的请求正文应该是什么?
web-scraping - Apify 指纹欺骗
我在 Apify 云上创建了一个 Actor,需要从使用防刮保护的站点收集数据。发现这篇文章https://help.apify.com/en/articles/1961361-several-tips-how-to-bypass-website-anti-scraping-protections 但这对我来说还不够。我需要随机化字体、画布、webgl、音频上下文指纹。有没有办法用 apify 做到这一点?
apify - 我如何将 apify 演员输出保存到 s3 或谷歌存储桶
我创建了 apify 演员,它将输出保存在 apify 云中,但我想将输出保存在我的 s3 帐户或谷歌存储桶中。感谢您的帮助
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
我得到这个
我的代码我需要改变什么?
google-apps-script - 如何通过 API 更改 Apify 演员参数
我想调用 Apify 演员并通过调用 Apify API 来指定参数值。
演员是位于此处的 Google Search Results Scraper。
这是文档说用作queries
API 调用有效负载中的对象属性名称的地方。
下表显示了由其输入模式定义的参与者 INPUT 字段的规范。当使用 API 运行 actor 时,可以 [...] 在 JSON 对象中提供这些字段。在文档中阅读更多内容。
...
搜索查询或 URL
Google 搜索查询(例如纽约市的食物)和/或完整 URL(例如https://www.google.com/search?q=food+NYC)。
每行输入一项。
可选
JSON 示例
类型:字符串
运行我的 Google Apps 脚本代码后,我希望看到searchQueries.term
参数发生如下变化。
但我实际得到的是与上次手动运行actor时相同的参数值。如下。
Apify——我实际看到的这是我从 Google Apps 脚本运行的代码。
代码.gs我究竟做错了什么?
javascript - Apify爬取后如何重命名输出文件?
我搜索了 Apify 文档,但找不到设置输出文件名的方法。现在它是 {INDEX}.json 但我可以为 Apify 抓取的每个页面设置一个自定义名称吗?
javascript - 使用 Apify Puppeteer 爬行的内存问题
我一直在做一个 Python 项目,用户向程序提供一长串 URL(比如说 100 个 URL),程序将生成 100 个进程来执行包含爬虫代码的 JavaScript 代码(使用Apify.launchPuppeteer()
)。此外,JavaScript 代码是基于 Apify Puppeteer 单页模板创建和修改的。
但是,100个进程同时调用爬取代码会占用大量内存,导致卡顿。由于 Python 代码正在等待从 JavaScript 代码写入的文件中读取结果,因此内存不足会极大地影响性能并引发文件写入错误。我想知道是否有任何方法可以优化 JavaScript 爬虫代码,或者是否可以对双方进行任何改进?
一些编辑 --- 关于程序的额外信息:用户正在给出一个 URL(域)列表,并且程序想要递归地爬取域中的所有链接(例如,爬取域 github.com 中的所有超链接)。