javascript - 使用 cheerio 检索 href

标签 javascript jquery node.js

我下载了一个看起来像这样的 html 文件

<html class="theme_">
<head>
<body>
    <div id="ad_1"></div>
    ...
    <div id="wrapper">
        <div id="top" style="height:11px;color:white;font-size:9px;font-weight:bold;"> </div>
        ...
        <div id="content" style="border-top:none;">
            ...
            <table id="user_list">
                <tbody>
                    <tr class="trodd">
                        <td width="10%" valign="center" align="center">
                        <td class="list_art" style="width:160px;">
                        <td class="main_entry">
                            <h4>
                            <h5>
                                <a class="list_album" href="https://rateyourmusic.com/release/single/electra__ita_/feels_good__carrots_and_beets_/" title="[Album833409]">Feels Good (Carrots & Beets)</a>
                                <span class="rel_date">(1982) [Single]</span>
                                </h5>
                            </td>
                            <td></td>
                        </tr>
                        <tr class="treven">

我需要到达每个 <tr class="trodd"><tr class="treven">表的条目 user_list并检索 href。这是我现在的代码,它只返回一个空数组。我无法掌握的一件事是 cheerio 是否能够找到每个 class="list_album"像这样,否则您必须使用一堆 $( ) 沿着文件的层次结构向下移动的。

var cheerio = require("cheerio");
var file = "...path...";
var links = [];

var $ = cheerio.load(file);
$('list_album').each( function () {
    var link = $(this.attr('href'));
    links.push({"link": link});
});

console.log(links);

最佳答案

我这样做了并且对我有用:

确保使用 $(value) 而不是 $(this)

$('.list_album').each( (index, value) => {
   var link = $(value).attr('href');
   links.push({"link": link});
});

关于javascript - 使用 cheerio 检索 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25438048/

相关文章:

javascript - jquery 动画在 x 和 y 轴上滚动

javascript - 如何在不提及相对文件路径的情况下请求模块

django - 错误 : Cannot find module 'socket.io/node_modules/redis' on Mac

jquery - 原型(prototype): keep an element in view upon scrolling

javascript - jquery中选择并触发单选按钮的点击事件

node.js - 如何更新存储在排序集中的 Redis 中的元素?

javascript - 主线程上的同步 XMLHttpRequest 已弃用

javascript - CSS 过渡不适用于 IE11

javascript - 看。当 Vuex 存储中的值被修改时,将焦点设置在组件的输入上

jquery - Bootstrap Datepicker无法设置开始/结束日期