从Node.js结果获取URL的最佳方法,而仅知道链接文本

时间:2018-07-19 00:11:00

标签: node.js regex cheerio

从nodejs GET获取html结果后,当我仅知道链接文本时,检索链接URL的最佳方法是什么。我可以使用cheerio吗?正则表达式? jQuery吗?

例如,我将如何检索“第二个网站”的网址

<a href='www.website1.com'>first website</a>
<a href='www.website2.com'>second website</a>
<a href='www.website3.com'>third website</a>

2 个答案:

答案 0 :(得分:1)

$('a:contains("second website")').attr('href')

答案 1 :(得分:0)

我希望使用选择器,而不是通过每个超链接运行,但这对我有用:

var $ = cheerio.load(body);
links = $('a'); //get all hyperlinks
  $(links).each(function(i, link){
      var currentlink = $(link).text()
      if(currentlink.includes('second')){
            console.log($(link).text() + ':\n  ' + $(link).attr('href'));
      }
  });