有没有办法在Nodejs中找到完全合格的网址?
基本上我想使用基于自定义node.js的抓取工具抓取网站。我获取所有锚标签并对它们发出http请求。问题是我无法弄清楚我需要提出请求的确切网址。请帮忙
示例网址
http://aaa.com/bbb
//aaa.com/bbb
或//aaa/bbb
/aaa.com/bbb
或/aaa/bbb
aaa.com/bbb
或aaa/bbb
答案 0 :(得分:1)
url.resolve功能对我有用(由@Karman和@micnic建议)。第一个参数是基本网址,它表示我正在为锚标记抓取的网页的网址。第二个参数是保存在锚点的href
标记中的URL。
答案 1 :(得分:0)
查看网址模块http://nodejs.org/api/url.html 您可以使用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: '/' }