问题标签 [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 投票
2 回答
817 浏览

node.js - 确保页面中存在元素,以确保已登录或任何其他操作

我正在使用 puppeteer,节点 js 我正在编写一个脚本以成功登录它,但我需要编写代码以确保它通过确保存在某些元素来成功登录,如果元素存在,我需要编写专注于它或者如果它不存在打印“元素不存在”。

这是我写的脚本:

注意:代码可以成功运行,但不会在控制台输出中打印任何内容。

0 投票
1 回答
748 浏览

javascript - 使用新的 proxyUrl 重试失败的页面

我开发了一个基于 Actor+PuppeteerCrawler+Proxy 的爬虫,并希望重新抓取失败的页面。为了增加重新刮擦的机会,我想切换到另一个 proxyUrl。这个想法是,使用修改后的 launchPupperteer 函数和不同的 proxyUrl 创建一个新的爬虫,并重新入队失败的页面。请检查下面的示例代码。

但不幸的是,它不起作用,尽管我通过使用 drop 和重新打开来重置请求队列。是否可以通过使用具有不同 proxyUrl 的 PuppeteerCrawler 来重新抓取失败的页面,以及如何?

最好的问候,沃尔夫冈

0 投票
2 回答
743 浏览

javascript - 在 Apify 中使用 Cheerio 每行抓取一个无序列表行

我尝试抓取以下无序列表:

我的目标是使用 Cheerio 刮板和以下代码,每行抓取列表行,并完全按照 Apify 中的 HTML 表格获取它:

但是,HTML 表格只显示一个超长行而不是每行一行。

来自 console.log()

下面是生成的 HTML 表格:

https://api.apify.com/v2/datasets/qs66oMZsxP2RYodhn/items?format=html&clean=1

如何解决此问题以使每行有一条 ul 线?

0 投票
1 回答
710 浏览

apify - 不完整的数据集 - 日志没有显示任何内容

我有一个带有cheerio-crawler 的演员,它可以抓取大约5500 个网址(urlList)的列表

url 是结果页面,其中有一个包含 json 文件的脚本。json 中添加了一些文本,因此它不是“干净的”,因此我将其提取到 const 中,并检查“if”语句中是否存在匹配项。如果有比赛,我会爬。

现在。我的问题是爬虫统计信息+日志,似乎表明所有网址都已被爬取。问题是他们不是。在日志中,我确实看到了一些超时(下面的示例),但是这些 url 只是放回了请求列表中。像“example.com”这样的 url 在日志中似乎很好,并且在查找时页面上有 data + json,但它没有在结果中输出。

我不知道出了什么问题,但有一种预感,它的“if”语句正在做一些时髦的事情。也许找到了 json 但尚未加载,或者其他什么。

你们中的一些聪明的头脑可以伸出援助之手吗?

统计示例 爬虫最终请求统计:{"avgDurationMillis":2554,"perMinute":580,"finished":5445,"failed":0,"retryHistogram":[5151,276,18]}

超时示例: 错误:CheerioCrawler:请求在 30 秒后超时。等等等等

0 投票
1 回答
630 浏览

apify - #apify 想要在点击过滤器复选框时过滤作业

我创建了一个演员。

开始网址:https ://www.klinikum-nf.de/karriere/aktuelle-stellenangebote

我只是能够抓取作业,但我需要首先通过选中复选框来应用过滤器,然后抓取作业。

没有过滤器有 41 个工作,有过滤器有 19 个工作。

实际上我需要 19 个工作而不是 41 个。

我使用了点击触发功能,但它不起作用并返回 41 个工作。

$( 文档 ).ready(function() {$('#fc_id_aerztinnen_-_aerzte').trigger('click');});

您能否帮助使用 Apify 来实现这一点?

在此处输入图像描述

0 投票
1 回答
876 浏览

jquery - 如何更正 Apify 中的选择器以从 JSON 数据链接获取数据?

我正在使用 Apify 从 json 文件链接中获取数据。这是json数据:

所以,我在 apify webscraper 任务中使用了以下代码。

该变量data具有适用于 json 数据的正确 css 选择器。但是,它没有返回任何数据。谁能帮我找出这里出了什么问题?提前致谢。

0 投票
1 回答
617 浏览

puppeteer - 如何从 apify 刮板获取标签:Web、Cheerio 和 Puppeteer

当我尝试根据 Apify 网站上的示例获取启动 URL 的标签时,我收到错误2019-12-26T15:35:17.723Z INFO: request.userData.label: undefined.

Cheerio 刮板示例代码

Pupperrer 刮板示例代码

0 投票
2 回答
795 浏览

puppeteer - 使用 Apify Puppeteer Scraper 访问和循环外部数据源

Apify Puppeteer Scraper不会在上下文对象中公开 jquery 。我需要访问 Puppeteer Scraper pageFunction 中的外部 JSON 数据源,然后遍历其中一个节点。如果 jquery 可用,我会这样做:

0 投票
1 回答
675 浏览

apify - Apify Puppeteer Scraper 错误:actor 运行已达到超时

为什么我在使用 Puppeteer Scraper 时收到此错误消息?

ACTOR:actor run 已达到 300 秒的超时,中止它。您可以增加运行选项中的超时时间。

我在源代码中找不到这个错误。

0 投票
1 回答
587 浏览

web-crawler - 在 Apify-ready 模板中更改 .tld

是否可以在 Apify 商店中更改现成模板(如 Tripadvisor 爬虫)中的顶级域?目标是不仅获得英文评论,还获得德文、法文等评论。如何在不编写新爬虫的情况下调整脚本?