我正在构建一个非常简单的刮板,以从我也喜欢收听的在线广播电台获取“正在播放”的信息。
它存储在他们网站上的一个简单的 p 元素中: data html location
现在使用标准的 apify/web-scraper 我遇到了一个奇怪的问题。抓取有时有效,但有时不使用此代码:
async function pageFunction(context) {
const { request, log, jQuery } = context;
const $ = jQuery;
const nowPlaying = $('p.js-playing-now').text();
return {
nowPlaying
};
}
如果刮板有效,我会得到以下结果:
[{"nowPlaying": "Hangover Hotline - hosted by Lamebrane"}]
但如果不是我得到这个:
[{"nowPlaying": ""}]
并且两次刮擦之间只有5分钟的差异。网站不会改变,数据总是以相同的方式呈现。我尝试检查所有框以规避安全性和不同的选项组合(使用 Chrome、使用隐身、忽略 SSL 错误、忽略 CORS 和 CSP),但不幸的是,这似乎并没有解决它。 刮痧不稳定
关于如何让这个抓取任务不断返回我需要的数据的任何建议?