首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cheerio检索href

使用cheerio检索href
EN

Stack Overflow用户
提问于 2014-08-22 08:43:52
回答 5查看 25.4K关注 0票数 10

我有一个下载的html文件,如下所示

代码语言:javascript
复制
<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">

我需要找到表user_list的每个<tr class="trodd"><tr class="treven">条目并检索href。这是我现在拥有的代码,它只返回一个空数组。我不能理解的一件事是,cheerio是否能够找到像这样的每个class="list_album",或者您必须在文件的层次结构中使用一堆$( )

代码语言:javascript
复制
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);
EN

回答 5

Stack Overflow用户

发布于 2017-06-13 09:03:36

我这样做了,它对我很有效:

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

代码语言:javascript
复制
$('.list_album').each( (index, value) => {
   var link = $(value).attr('href');
   links.push({"link": link});
});
票数 16
EN

Stack Overflow用户

发布于 2014-08-22 09:07:23

我没有足够的名气来评论,所以我会在这里回答。这似乎是一个打字错误,选择器和$包装器上的‘点’。尝尝这个。

代码语言:javascript
复制
$('.list_album').each( function () {
   var link = $(this).attr('href');
   links.push({"link": link});
});
票数 9
EN

Stack Overflow用户

发布于 2017-01-25 04:21:16

我没有名气来评论,但可能会帮助someone.OP没有在给定的代码片段中添加点。代替$('list_album'),需要使用$('.list_album').Here点运算符是类选择器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25438048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档