powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Парсинг с parser.pas
8 сообщений из 8, страница 1 из 1
Парсинг с parser.pas
    #39953474
tatarnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил сделать парсер сайта.
На github.com нашел пример на HTML-Parser.
Вот мой код

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
procedure TForm1.Button1Click(Sender: TObject);
var
  DomTree: TDomTree;
  a: TNodeList;
  b: tstringlist;
  HtmlTxt: string;
begin
  NetHTTPClient1.CustomHeaders['User-Agent'] := 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.96 YaBrowser/20.4.0.1461 Yowser/2.5 Safari/537.36';
  HtmlTxt := NetHTTPClient1.Get('https://zaycev.net/').ContentAsString();
  a := TNodeList.Create;
  b := TStringList.Create;
  DomTree := TDomTree.Create();
  DomTree.RootNode.RunParse(HtmlTxt);
  if DomTree.RootNode.FindXPath('//div[@class="musicset-track-list__items"]/div[4]/div[1]/div[2]/div[1]/a', a, b) then
  begin
    // Memo1.Text :=  Результат
  end
end;



Подскажите пожалуйста как получить результат.
...
Рейтинг: 0 / 0
Парсинг с parser.pas
    #39953566
tatarnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот ссылка https://github.com/sandbil/HTML-Parser на HTML-Parse
...
Рейтинг: 0 / 0
Парсинг с parser.pas
    #39953640
sql2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tatarnikov,

demo project сложно посмотреть (сначала на картинку - внизу, потом на код) ?
...
Рейтинг: 0 / 0
Парсинг с parser.pas
    #39953644
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tatarnikov
Подскажите пожалуйста как получить результат.

А какой РЕЗУЛЬТАТ вы хотите получить ?
...
Рейтинг: 0 / 0
Парсинг с parser.pas
    #39953649
tatarnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr
А какой РЕЗУЛЬТАТ вы хотите получить ?


В переменную (как пример) имя исполнителя или название трека
...
Рейтинг: 0 / 0
Парсинг с parser.pas
    #39953691
nicholaos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tatarnikov,

Для начала, вам нужно разобраться, отдает сайт статику (уже сформированный HTML на сервере) или динамику (js-скрипты догружают содержимое в страницу уже на клиенте).

Если статику - считайте, что вам повезло. Скачайте страницу CURL'ом, а дальше её можно парсить чем угодно, хоть полноценным HTML-парсером, хоть pos+copy.

Если динамику, что нужно, чтобы её кто-то выполнил. Для delphi есть TWebBrowser - обычно плохой вариант, многие страницы выполняет не корректно, CEF4 -более профессиональный инструмент, может быть сложен в настройке.
Можно для выполнения клиентского джаваскрипта и действий на странице использовать инструменты, которые веб-разработчики используют для тестирования - Selenium, PhantomJS, Nightmare и т.п. Если нужно нажимать на кнопки на странице, вводить информацию, то это лучший выбор.
...
Рейтинг: 0 / 0
Парсинг с parser.pas
    #39953925
sql2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tatarnikov,

HtmlTxt не содержит musicset-track-list__items.
Выше описано, что нужно использовать.
...
Рейтинг: 0 / 0
Парсинг с parser.pas
    #39953978
tatarnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HtmlTxt не содержит musicset-track-list__items.
Выше описано, что нужно использовать.
Спасибо буду пробовать.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Парсинг с parser.pas
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]