繁体   English   中英

我如何使用html敏捷包从html页面中选择此数据

[英]How do i pick this data from an html page using html agility Pack

我想从此页面中提取标题和其他信息,请帮忙。

我这样做是为了从以下URL获得mp3的下载链接: http : //mp3monkey.net/mp3/Eminem.html

private HtmlNodeCollection GetSongNodesMp3Monkey(string pageUri)
{
    HtmlDocument document = web.Load(pageUri);
    HtmlNode documentNode = document.DocumentNode;
    return documentNode.SelectNodes("//a[@href]");
}

void Mp3Monkey(HtmlNodeCollection songs)
{
    foreach (HtmlNode s in songs)
    {
        HtmlAttribute aa = s.Attributes["href"];
        if (aa.Value.EndsWith("?dl=1"))
        {
            list.Items.Add(aa.Value.Replace("?dl=1",""));
        }
     }
}

但是我也想提取其他信息,例如标题,持续时间和艺术家,请帮助我做到这一点。

样本HTML:

<td>
    <div class="dd" style="width:34px; cursor:pointer; padding-top: 2px; padding bottom: 4px;" onclick="gopl(this)" id="plid_18ffbe2d9efe71aed310552f4f79ad55">
        <span class="ui-icon ui-icon-play" id="ui-icon-play">
            <img src="Eminem%20Mp3%20Download_files/play.png" title="Play">
        </span>
        <span class="ui-icon ui-icon-pause" id="ui-icon-pause" style="display:none">
            <img src="Eminem%20Mp3%20Download_files/pause.png" title="Pause">
        </span>
        <!--<span style="display:none;" id="norber">http://mp3monkey.net/audio/92960819/17163345/play.mp3</span>-->
        <span style="display:none;" id="norber">http://mp3monkey.net/audio/17163345/92960819/Eminem_-_Love_the_Way_You_Lie_feat_Rihanna_.mp3</span>
        <span style="display:none;" id="xftitle">Eminem - Love the Way You Lie (feat. Rihanna)</span>
    </div>
</td>
<td style="width:34px">
    <div class="dd" style="width:34px; padding-top: 2px; padding-bottom: 4px;">
        <noindex>
            <div id="addmp3_18ffbe2d9efe71aed310552f4f79ad55">
                <img src="Eminem%20Mp3%20Download_files/add.png" id="is_add1" title="Add to  Playlist" style="cursor:pointer;" \="" border="0">
                <img src="Eminem%20Mp3%20Download_files/addok.png" title="Added" id="is_add2" style="display:none">
                <span style="display:none" id="aid">92960819</span>
                <span style="display:none" id="oid">17163345</span>
                <span style="display:none" id="autor">Eminem</span>
                <span style="display:none" id="title">Love the Way You Lie (feat. Rihanna)</span>
                <span style="display:none" id="time">263</span>
            </div>
        </noindex>
    </div>
</td>
var xpath = "//div[@class='dd']/noindex/div";
var songs = from song in hdoc.DocumentNode.SelectNodes(xpath)
            select new {
                Author = song.SelectSingleNode("span[@id='autor']").InnerText,
                Title = song.SelectSingleNode("span[@id='title']").InnerText,
                Time = song.SelectSingleNode("span[@id='time']").InnerText
            };

输出:

[
  {
    Author: "Eminem",
    Title: "Love the Way You Lie (feat. Rihanna)",
    Time: "263"
  },
  {
    Author: "Eminem ft. Akon ",
    Title: "Smack That ",
    Time: "217"
  },
  {
    Author: "Dr. Dre Feat. Eminem &amp; Skylar Grey",
    Title: "I Need A Doctor ( 2011 )",
    Time: "283"
  },
  ...
]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM