如何从按钮中检索URL?

时间:2011-12-24 23:05:45

标签: c#

<div id="song_html" class="show1">
    <div class="left">
        <!-- info mp3 here -->
        3.88 mb
    </div>
    <div id="right_song">
        <div style="font-size: 15px;">
            <b>Beatles - Hey Jude mp3</b></div>
        <div style="clear: both;">
        </div>
        <div style="float: left;">
            <div style="float: left; height: 27px; font-size: 13px; padding-top: 2px;">
                <div style="float: left; width: 27px; text-align: center;">
                    <a href="javascript:void(0)" onclick="showPlayer(161498180, 'b7f231500894c321c0a7739802edff16965eb111', 'beatles', 'hey+jude')"
                        rel="nofollow" id="lk161498180" class="play_now">Play</a></div>
                <div style="margin-left: 8px; float: left;">
                    <a href="http://dc109.4shared.com/img/1038702204/8ffe01b/dlink__2Fdownload_2FxAdbDSb4_3Ftsid_3D20111224-60034-
                    aa918a50/preview.mp3" rel="nofollow" target="_blank" style="color: green;">Download</a></div>
                <div style="margin-left: 8px; float: left;">
                    <a href="javascript:void(0)" onclick="showEmbed(161498180,
                    'b7f231500894c321c0a7739802edff16965eb111')" rel="nofollow" id="em161498180" class="embed">
                        Embed</a></div>
                <div style="margin-left: 8px; float: left;">
                    <a href="http://www.ringtonematcher.com/go/?sid=WDLL&artist=beatles&song=hey+jude"
                        rel="nofollow" target="_blank" style="color: red;" title="Send Beatles - Hey Jude Ringtone to your Cell">
                        Send Ringtone</a></div>
                <div style="clear: both;">
                </div>
            </div>
            <div id="player161498180" style="float: left; margin-left: 10px;" class="player">
            </div>
        </div>
        <div style="clear: both;">
        </div>
    </div>
    <div style="clear: both;">
    </div>
</div>

我很想知道如何检索链接'http://dc109.4shared.com/img/1038702204/8ffe01b/dlink__2Fdownload_2FxAdbDSb4_3Ftsid_3D20111224-60034-aa918a50/preview.mp3'。

我多次询问其他论坛和人,但我仍然不理解/不工作。

我必须通过类“show1”获得它,因为还有其他类。

3 个答案:

答案 0 :(得分:1)

如果您经常这样做,您可以使用第三方(开源)库HtmlAgilityPack并使用XPath获取您的价值(在线有许多资源)。

创建HtmlDocument后(通过使用HtmlWeb.Load下载页面),我将使用以下内容获取网址:

String theLink = myDoc.DocumentNode.SelectSingleNode("//div[@class='show1']//a[.='Download']").Attributes["href"].Value;

答案 1 :(得分:0)

如果唯一的独特之处是文本,你可以使用jQuery这样做:

var href = $('a:text("Download")').attr('href');

希望这有帮助

答案 2 :(得分:0)

你可以使用html解析来获取它,如HtmlAgilityPack

简单的例子:

var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var nodes = doc.DocumentNode.SelectNodes("//a[.='Download']");
var link = nodes[0].Attributes["href"].Value;

我相信您从4shared页面获取此HTML,您可以使用WebClient类中的DownloadString方法获取HTML。

使用API​​,有更简单的方法。