Javascript 使用新代理URL重试失败的页面

Javascript 使用新代理URL重试失败的页面,javascript,docker,apify,Javascript,Docker,Apify,我已经开发了一个基于Actor+PuppeterCrawler+代理的爬虫程序,希望重新捕获失败的页面。为了增加重新强奸的机会,我想切换到另一个代理URL。我们的想法是,创建一个新的爬虫程序,使用修改后的launchPupperteer函数和一个不同的proxyUrl,并重新定义失败的页面。请检查下面的示例代码 但不幸的是,它不起作用,尽管我使用drop并重新打开来重置请求队列。是否可以使用具有不同代理URL的PuppeterCrawler重新扫描失败的页面,以及如何重新扫描 致以最良好的祝愿,

我已经开发了一个基于Actor+PuppeterCrawler+代理的爬虫程序,希望重新捕获失败的页面。为了增加重新强奸的机会,我想切换到另一个代理URL。我们的想法是,创建一个新的爬虫程序,使用修改后的launchPupperteer函数和一个不同的proxyUrl,并重新定义失败的页面。请检查下面的示例代码

但不幸的是,它不起作用,尽管我使用drop并重新打开来重置请求队列。是否可以使用具有不同代理URL的PuppeterCrawler重新扫描失败的页面,以及如何重新扫描

致以最良好的祝愿, 沃尔夫冈

for(让retryCount=0;retryCount>>忽略,尽管使用drop()并重新打开请求队列!!!
对于(让失败的一个或多个){
wait requestQueue.addRequest({url:failedUrl});
}
}
crawlerOptions.LaunchPuppeterFunction=()=>{
返回Apify.launchpuppetter({
//生成新的代理url并将其添加到新的LaunchPuppeter函数中
proxyUrl:createProxyUrl()
});
};
let crawler=新的Apify.PuppeterCrawler(爬虫);
等待爬虫。运行();
}

我认为您的方法应该有效,但另一方面它不应该是必要的。我不确定
createProxyUrl
的作用

您可以提供带有
auto
用户名的通用代理URL,该URL将使用Apify上的所有数据中心代理。或者您可以直接提供给
PuppeterCrawler

只是不要忘记,您必须切换浏览器才能从代理服务器获取新的IP。本文将介绍更多信息-