【问题标题】:How do I console log the text inside of html element?如何控制台记录 html 元素内的文本?
【发布时间】:2020-11-21 18:33:39
【问题描述】:

我想在https://www.bestbuy.com/site/jingle-all-the-way-family-fun-edition-dvd-1996/8538512.p?skuId=8538512 上控制台记录文本“Jingle All the Way [Family Fun Edition] [DVD] [1996]”。 我正在使用 axios ,cheerio。

(async () =>{
   const { data } = await axios.get(productUrl);
   const $ = cheerio.load(data)
   const title = $('h1')[0];
   console.log(title)
   
})();

如果你能帮助我,请告诉我。这应该很简单,但我在任何地方都找不到答案。

【问题讨论】:

    标签: javascript node.js web-scraping axios cheerio


    【解决方案1】:

    尝试将第 3 行更改为 const $ = await cheerio.load(data)

    【讨论】:

      【解决方案2】:

      试试

      (async () =>{
         const { data } = await axios.get(productUrl);
         const $ = cheerio.load(data)
         const title = $('h1');
         console.log(title.text());
         
      })();
      

      【讨论】:

      • 它告诉我文本不是函数。这就是我最初在发帖之前会做的事情,但我一直收到这个错误。
      • 您是否从 'cheerio.load(data)' 获得任何数据?尝试 'const $ = await chesterio.load(data)' 然后尝试执行 '$('h1')[0].text();'
      • 是的,当我 console.log(data) 我得到所有的 html 。
      • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
      • 我查看了zetcode.com/javascript/cheerio - 请参阅“Cheerio 标题”部分。请标记upvote并接受答案。谢谢:)
      猜你喜欢
      • 2018-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-06
      • 1970-01-01
      • 2021-11-07
      • 2011-04-22
      • 1970-01-01
      相关资源
      最近更新 更多