N. Henrik Lauridsen Ответов: 1

Fetch исполнитель и название от net radio


Hi,
I am trying to fetch the artist and title from a website streaming live music.

http://radioglobus.dk/netradio/?autoplay=true%22

If I hit F12 (Developer Tools) in Edge I can see the artist in <span class="nowPlayingArtist"></span><br />
And the title in <span class="nowPlayingTitle"></span><br />

But the above function returns everything except the artist and the title.

What do I need to fetch the artist and title?

Thank in advance


Что я уже пробовал:

Public Async Function GetIt(ByVal uri As String) As Task(Of String)
    Dim Content As String = Await wvRadio.InvokeScriptAsync("eval", New String() {"document.documentElement.outerHTML;"})
    Await Task.Delay(2000)
    If Content.Contains("playingnow") Then
        Debug.WriteLine(Content)
    End If
    Return ""
End Function

1 Ответов

Рейтинг:
2

TheRealSteveJudge

Html Agility pack | узнайте, как использовать HtmlAgilityPack с учебником и примером[^]
могут помочь вам.

var url = "http://radioglobus.dk/netradio/?autoplay=true%22";
var web = new HtmlWeb();
var doc = web.Load(url);
var nodes = doc.DocumentNode.SelectNodes("//span");
var node = nodes.FirstOrDefault(x => x.Attributes.Any(a => a.Name == "class" && a.Value == "nowPlayingTitle"));
if (node != null)
{
    Console.WriteLine(node.InnerHtml);
}

"узел.InnerHtml" - это название песни.
Этот пример находится в C#, но вы можете легко переписать его в VB Net.


N. Henrik Lauridsen

Большое вам спасибо за ваш ответ. К сожалению, он ничего не возвращает. У вас есть идея, почему узел пуст?

TheRealSteveJudge

Отладчик показывает после загрузки веб-страницы, что эти два промежутка пусты.
промежуток класс="nowPlayingArtist"&ГТ;&ЛТ;/пролет
промежуток класс="nowPlayingTitle"&ГТ;&ЛТ;/пролет
Может быть, что-то еще должно произойти, чтобы эти два поля действительно были заполнены.
Реальный веб браузер кажется ведет себя по другому в отличие от простой загрузки
web-страница.
Извините за доставленные неудобства.

N. Henrik Lauridsen

Все в полном порядке. Может быть, задержка поможет. Во всяком случае, я узнал о пакете Html Agility Pack благодаря вам