Html Agility Pack для поиска источника видео - PullRequest
0 голосов
/ 27 ноября 2011

Привет всем, я пытаюсь найти параметр для видео ударной волны в источнике веб-страницы.Источник выглядит так:

    <object align="middle" width="480" height="320" viewastext="" id="player" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000">
        <param value="sameDomain" name="allowScriptAccess">
        <param value="http://mediawebsite.com/lcmplayer.swf?autoStart=1&amp;hidecontrols=1&amp;&amp;noresize=1&amp;file=http%3A%2F%2Ftx02.us.mediawebsite.com%2Fedge2%2F31dfty452611%26sec%3D1090" name="movie">
        <param value="best" name="quality">
        <param value="#000000" name="bgcolor">
        <param value="true" name="allowFullScreen">
        <param value="" name="FlashVars">
        <embed align="middle" width="480" height="320" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="sameDomain" name="player" bgcolor="#000000" flashvars="" quality="best" src="http://mediawebsite.com/lcmplayer.swf?autoStart=1&amp;hidecontrols=1&amp;&amp;noresize=1&amp;file=http%3A%2F%2Ftx02.us.mediawebsite.com%2Fedge2%2F31dfty452611%26sec%3D1090">
    </object>

Мне просто нужно получить это из вышеперечисленного:

http://mediawebsite.com/lcmplayer.swf?autoStart=1&hidecontrols=1&&noresize=1&file=http%3A%2F%2Ftx02.us.mediawebsite.com%2Fedge2%2F31dfty452611%26sec%3D1090

или что бы то ни было в пределах HTML-код. Конечно, ссылка HTML-кода может изменять каждое обновление, поэтому мне нужно просто получить то, что находится внутри параметра.

Я использую HtmlAgilityPack как указано в заголовке и VB.net 2008.

Это мой текущий код, который я использую для загрузки и анализа HTML:

 Imports HtmlAgilityPack
 Imports System.Text.RegularExpressions

 Private Sub getVidLink()
    Dim doc As New HtmlDocument()

    'doc.LoadHtml("<html><body><p><table id=""foo""><tr><th>hello</th></tr><tr><td>world</td></tr></table></body></html>")
    doc.Load("C:\kathryn\fpHTML.html")

    For Each table As HtmlNode In doc.DocumentNode.SelectNodes("//object")
        Debug.Print("Found: " + table.Id)

        For Each row As HtmlNode In table.SelectNodes("param")
            Debug.Print(row.Id)
        Next
    Next
 End Sub

Но он не находит никаких значенийдля парам. Они все пустые? ...

Любая помощь будет отличной!

Дэвид

1 Ответ

2 голосов
/ 27 ноября 2011
Dim node = doc.DocumentNode.SelectSingleNode("//object/param[@name='movie']").Attributes("value").Value

должен дать вам то, что вам нужно

...