【发布时间】:2021-02-15 19:48:40
【问题描述】:
我需要访问十万个或更多的 url,并检查它们是否重定向到不同的最终 url。
我正在使用https://www.scrapeulous.com 来执行此操作。但我需要编写一个简单的自定义函数来使其工作。 Scrapeulous 使用 got 库。其中有documentation that on the followRedirects option that notes:
跟随重定向
类型:布尔默认值:true
定义是否应自动遵循重定向响应。
请注意,如果服务器发送 303 响应任何请求 类型(POST、DELETE等),Got会自动请求资源 通过 GET 在位置标头中指向。这是按照 规范。
also notes 用于 Response.url:
网址
类型:字符串
请求 URL 或重定向后的最终 URL。
我试过以下代码无济于事:
class Get extends HttpWorker {
async crawl(url) {
let result = await this.Got(encodeURI(url),
{followRedirect: true});
return result.url;
}
}
我以前从未写过任何 javascript 或 node.js,所以要温柔。让我们使用重定向到 experiit.com 的 debianit.com 作为我的示例。旁注:我还希望能够提供代码域而不是 url,以确定站点是否默认为 http:// 或 https://。但是一次一个解决方案对我来说就足够了:)。
我还尝试返回整个结果对象并查看它,但没有发现任何用处。
【问题讨论】: