Javascript nodejs中的完全限定url
有没有办法在Nodejs中找到完全限定的url 基本上,我想使用基于node.js的自定义爬虫来抓取网站。我获取所有锚标记并对它们发出http请求。问题是,我无法找出我需要向其发出请求的确切url。请帮忙 示例URLJavascript nodejs中的完全限定url,javascript,node.js,url,Javascript,Node.js,Url,有没有办法在Nodejs中找到完全限定的url 基本上,我想使用基于node.js的自定义爬虫来抓取网站。我获取所有锚标记并对它们发出http请求。问题是,我无法找出我需要向其发出请求的确切url。请帮忙 示例URL http://aaa.com/bbb //aaa.com/bbb或//aaa/bbb /aaa.com/bbb或/aaa/bbb aaa.com/bbb或aaa/bbb查看url模块 您可以使用url resolve属性或查看url模块的上述文档 也如 var obj= requ
http://aaa.com/bbb
//aaa.com/bbb
或//aaa/bbb
/aaa.com/bbb
或/aaa/bbb
aaa.com/bbb
或aaa/bbb
查看url模块
您可以使用url resolve属性或查看url模块的上述文档
也如
var obj= require('url').parse('http://google.com?q=tobi');
will result in
obj=
{ protocol: 'http:',
slashes: true,
host: 'google.com',
hostname: 'google.com',
href: 'http://google.com/?q=tobi',
search: '?q=tobi',
query: 'q=tobi',
pathname: '/' }
这项功能对我很有用(由@Karman和@micnic建议)。第一个参数是基本url,它表示我正在抓取锚定标记的页面的url。第二个参数是保存在锚的
href
标记中的url。您听说过url.join()
?但是url在每个地方都以不同的格式指定。简单的联接不能解决问题。我需要一个适当的算法来实现这一点。url.join()
+url.resolve()
可以做到这一点,只需提供一些您无法使用的示例them@micnic我添加了一些示例URL,希望获得其完全限定的URL。对于“aaa/bbbb”,这将失败。即使它是页面上的有效url。很好。分享您的代码,了解如何解决此问题,以便它也可以帮助其他人。也可以把这篇文章当作答案