Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 11.08.2014
Сообщений: 3

Как с помощью HTMLAgility получить название песни и артиста?

03.09.2014, 07:16. Показов 2150. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Предположим у меня есть такой код хтмл( сайт радио рекорд)
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html>
 
<html class="bx-no-touch bx-no-retina bx-firefox bx-boxshadow bx-borderradius bx-flexwrap bx-boxdirection bx-transition bx-transform" data-savefrom-tab-data="{"module":"lm","tooltip":"Links found: 0"}">
 
    <head></head>
    <body speed="-1.4" data-savefrom-link-count="192">
        <img style="position: absolute; top: -10000px; left: -10000px;" alt="Vkontakte record picture" src="//www.radiorecord.ru/vk_pic.jpg"></img>
        <div id="panel"></div>
        <div class="index-wrap">
            <div class="container">
                <div class="logo"></div>
                <div class="socials"></div>
                <header></header>
                <div class="main-content one_column white-bgr">
                    <style></style>
                    <section id="page-superchart">
                        <div class="supercart-title"></div>
                        <div class="sc-under"></div>
                        <div class="all_audio">
                            <article id="superchart_796579" class="track-holder">
                                <div class="player-raiting-holder">
                                    <div class="place"></div>
                                    <div class="player_wrapper">
                                        <table class="player" track_id="796579">
                                            <tbody>
                                                <tr>
                                                    <td class="play_pause" item_url="http://audio.radiorecord.ru/audio/superchart/LILLY WOOD+PRICK+ROBIN SCHULZ - Prayer In C.mp3"></td>
                                                    <td class="play_info">
                                                        <span class="artist"></span>
                                                        <span class="name"></span>
                                                        <div class="position"></div>
                                                    </td>
                                                    <td class="play_volume"></td>
                                                </tr>
                                            </tbody>
                                        </table>
                                    </div>
                                    <div class="posts"></div>
                                    <div id="ya-social-796579" class="ya-social b-share_theme_counter" data-yasharelink="http://www.radiorecord.ru/radio/charts/796579/"></div>
                                    <div class="raiting"></div>
                                </div>
                                <div class="comments_wrapper"></div>
                            </article>
как мне с помощью HtmlAgility получить название песни и артиста?

Я пишу
C#
1
2
3
4
5
6
7
8
9
10
11
 HtmlDocument html = new HtmlDocument();
 
            html.LoadHtml(wClient.DownloadString("http://www.radiorecord.ru/radio/charts/"));
 
            var table = html.GetElementbyId(@"superchart_796579").ChildNodes.Where(x => x.Name == "td").ToArray();
 
            foreach(var tr in table)
            {
               Console.WriteLine( tr.ChildNodes.FindFirst("span").InnerText);
              
            }
в надежде, что он мне хотя бы имя артиста даст, но ничего не происходит.
Сайт радиорекорда для примера взял, вообще задание другое, но суть та же. на сайте есть таблица из которой надо взять за=начение, но не получается. Если кто-то может помочь на данном примере хтмл буду очень признателен
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.09.2014, 07:16
Ответы с готовыми решениями:

Как получить название песни и исполнителя на онлайн радиостанции?
Как получить название песни и исполнителя на онлайн радиостанции? В Интернете ответа на данный вопрос не нашёл Например у меня есть...

Получить название песни из файла
В общем есть плеер написанный с помощью DX.AudioVideoPlayback, нужно сделать плейлист, я делал на &quot;listbox&quot;, но Вот в чем...

Получить название текущей песни из аудио потока
Всем привет, подскажите как можно получить название текущей песни, а может быть и плейлист весь из аудио потока? Например: ...

2
 Аватар для Yukikaze
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
03.09.2014, 10:16
Думаю через XPATH будет проще
C#
1
var playInfo = html.DocumentNode.SelectNodes("//td[@class='play_info']");
Должно вернуть коллекцию элементов содержащих нужные вам данные, для проверки можете открыть инструменты разработчика в гугл хроме, нажав F12, затем во вкладке Elements нажать ctrl+F и ввести в появившемся текстовом поле //td[@class='play_info'], в результате должно найти все 33 трека
1
Заблокирован
03.09.2014, 11:12
inuzen, немного дополню ответ Yukikaze:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
WebClient wClient = new WebClient();
            HtmlDocument html = new HtmlDocument();
            html.LoadHtml(wClient.DownloadString("http://radiorecord.ru/radio/charts/"));
            var query = html.DocumentNode.SelectNodes("//td[@class='play_info']")
                .Select(y => new
                {
                    artist = y.SelectSingleNode("span[@class='artist']").InnerText,
                    name = y.SelectSingleNode("span[@class='name']").InnerText
 
                })
                ;
            foreach (var x in query)
                Console.WriteLine(String.Format("{0}({1})", x.artist, x.name));
 
            wClient.Dispose();
При таком подходе будут проблемы с русскими буквами:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Lilly Wood, Prick, Robin Schulz(Prayer In C)
Kiesza(Hideaway)
R3hab, VINAI(How We Party)
JASON DERULO & SNOOP DOGG(Wiggle)
OLIVER HELDENS/BECKY HILL(Gecko (Overdrive))
DJ SNAKE FEAT LIL JOHN(Turn Down For What)
MR Probz(Waves)
CALVIN HARRIS(Cuba)
Clean Bandit feat Jess Glynne(Rather Be)
DUCK SAUCE & SKRILLEX & KILL THE NOIS(NRG)
IGGY AZALEA, CHARLI XCX(Fancy (YELLOW CLAW Remix))
New World Sound, Timmy Trumpet(The Buzz)
IMANY(You Will Never Know (Ivan Spell & Daniel Magre Reboot))
Chainsmokers(#selfie)
Р"Р¶РёР?Р°Р? vs Slider & Magnit(#Р?Р°Р?Р?Р?Р?Р?РєР°С╪Р°С'С?С?С?)
DADA LIFE(One Smile)
YAM NOR(Beautiful Business (The Mankeys Remix))
ANTIUSERUM & MAYHEM(Hustle)
DYRO(Wolv)
MAJOR LAZER(Watch Out For This (Bumaye))
DAVID GUETTA & SAM MARTIN(Lovers On The Sun)
QUINTINO, KENNETH G(Blowfish)
David Guetta, Showtek, Vassy(Bad)
DVBBS & BORGEOUS(Tsunami (Original Mix))
STEVE AOKI & CHRIS LAKE & TUJAMO(Delirious (Boneless))
SCNDL(Aftershock)
ELLIPHANT, SKRILLEX(Only Getting Younger (TJR Remix))
Scooter, Wiz Khalifa(Bigroom Blitz)
FAUL/WAD AD, PNAU, ALEXX SLAM(Changes (Record Mix))
R3HAB & NERVO & AYAH MARAR(Ready For The Weekend)
Dimitri Vegas, Like Mike, Martin Garrix(Tremor)
NICO & VINZ(Am I Wrong (GORDON & DOYLE Remix))
TJR, VINAI, DJ SNAKE, THE MANKEYS(Get Low Generation)
Для продолжения нажмите любую клавишу . . .
Но если сохранить в файл, а после считывать указывая кодировку такой проблемы не будет:
Кликните здесь для просмотра всего текста

Lilly Wood, Prick, Robin Schulz(Prayer In C)
Kiesza(Hideaway)
R3hab, VINAI(How We Party)
JASON DERULO & SNOOP DOGG(Wiggle)
OLIVER HELDENS/BECKY HILL(Gecko (Overdrive))
DJ SNAKE FEAT LIL JOHN(Turn Down For What)
MR Probz(Waves)
CALVIN HARRIS(Cuba)
Clean Bandit feat Jess Glynne(Rather Be)
DUCK SAUCE & SKRILLEX & KILL THE NOIS(NRG)
IGGY AZALEA, CHARLI XCX(Fancy (YELLOW CLAW Remix))
New World Sound, Timmy Trumpet(The Buzz)
IMANY(You Will Never Know (Ivan Spell & Daniel Magre Reboot))
Chainsmokers(#selfie)
Джиган vs Slider & Magnit(#НадоПодкачаться)
DADA LIFE(One Smile)
YAM NOR(Beautiful Business (The Mankeys Remix))
ANTIUSERUM & MAYHEM(Hustle)
DYRO(Wolv)
MAJOR LAZER(Watch Out For This (Bumaye))
DAVID GUETTA & SAM MARTIN(Lovers On The Sun)
QUINTINO, KENNETH G(Blowfish)
David Guetta, Showtek, Vassy(Bad)
DVBBS & BORGEOUS(Tsunami (Original Mix))
STEVE AOKI & CHRIS LAKE & TUJAMO(Delirious (Boneless))
SCNDL(Aftershock)
ELLIPHANT, SKRILLEX(Only Getting Younger (TJR Remix))
Scooter, Wiz Khalifa(Bigroom Blitz)
FAUL/WAD AD, PNAU, ALEXX SLAM(Changes (Record Mix))
R3HAB & NERVO & AYAH MARAR(Ready For The Weekend)
Dimitri Vegas, Like Mike, Martin Garrix(Tremor)
NICO & VINZ(Am I Wrong (GORDON & DOYLE Remix))
TJR, VINAI, DJ SNAKE, THE MANKEYS(Get Low Generation)
Для продолжения нажмите любую клавишу . . .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.09.2014, 11:12
Помогаю со студенческими работами здесь

Получить исполнителя и название песни из интернет радио
Приветствую. Есть радиопоток. Оригинальный сайт передает данные о песне через флэш, но есть другой сайт, через которого играет это радио...

Как можно узнать из файла .m3u название песни и вывести это название в Label?
Я делаю свою программку для прослушивания радиостанций (хоть таких и полно - но мне хочется создать что-то свое). Как можно узнать из файла...

Получить данные из аудио-потока (интернет-радио) - название песни, исполнитель
Всем привет, все никак найти не могу, каким образом выдернуть метаданные из потока, например, если открыть этот...

Как возможно получить название секции с помощью @formula ?
Как возможно получить название секции из поля типа RichText с помощью @Formula или может из специального поля ? из Скрипта понятно как...

Как с помощью TRACKBAR изменять положение трека(песни)
Всем привет! Подскажите некоторые вопросы... 1.Как с помощью TRACKBAR изменять положение трека(песни) &quot;хотелось бы пример...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru