Обработка текста

twisterrr

Client
Регистрация
25.12.2011
Сообщения
284
Благодарностей
23
Баллы
18
занимаюсь шаблоном парсера litres.ru , застрял на таком моменте, нужно вытащить названия жанров в список, проблема в том что первая буква идет через тег span.
подскажите как грамотно вытащить названия жанров из такой разметки ?

<li><strong>Жанр:</strong> <a href="/knigi-priklucheniya/priklucheniya_knigi/" class="biblio_info__link"><span class="uppercase">к</span>ниги о приключениях</a>, <a href="/knigi-fentezi/lubov/" class="biblio_info__link"><span class="uppercase">л</span>юбовное фэнтези</a>, <a href="/knigi-uzhasy-mistika-trillery/mistika/" class="biblio_info__link"><span class="uppercase">м</span>истика</a>, <a href="/knigi-lubovnye-romany/ostrosyuzhetnyye/" class="biblio_info__link"><span class="uppercase">о</span>стросюжетные любовные романы</a></li>
 

Jeronimo

Client
Регистрация
07.01.2014
Сообщения
229
Благодарностей
204
Баллы
43
Первым кубиком возьми все совпадения через регулярку (?<=<span\ class="uppercase">).*?(?=</a>) и помести их в переменную/список
Вторым кубиком удали из всех найденных совпадений тег </span> через обработку текста
 
  • Спасибо
Реакции: twisterrr

twisterrr

Client
Регистрация
25.12.2011
Сообщения
284
Благодарностей
23
Баллы
18
Первым кубиком возьми все совпадения через регулярку (?<=<span\ class="uppercase">).*?(?=</a>) и помести их в переменную/список
Вторым кубиком удали из всех найденных совпадений тег </span> через обработку текста
т.е. это нужно сначала вытащить вышеупомянутый блок разметки и положить в переменную, затем к этой переменной применить вашу регулярку и положить в список, затем список объединить и положить в переменную и только затем удалить </span> , вариант рабочий , спасибо :bu:
 

Metrix

Client
Регистрация
03.01.2014
Сообщения
343
Благодарностей
272
Баллы
63
Либо распарсить с помощью поиска элементов через XPath или CSSselector, есть инструменты из коробки в ProjectMaker.
 
  • Спасибо
Реакции: twisterrr

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 512
Благодарностей
8 702
Баллы
113
занимаюсь шаблоном парсера litres.ru , застрял на таком моменте, нужно вытащить названия жанров в список, проблема в том что первая буква идет через тег span.
подскажите как грамотно вытащить названия жанров из такой разметки ?

<li><strong>Жанр:</strong> <a href="/knigi-priklucheniya/priklucheniya_knigi/" class="biblio_info__link"><span class="uppercase">к</span>ниги о приключениях</a>, <a href="/knigi-fentezi/lubov/" class="biblio_info__link"><span class="uppercase">л</span>юбовное фэнтези</a>, <a href="/knigi-uzhasy-mistika-trillery/mistika/" class="biblio_info__link"><span class="uppercase">м</span>истика</a>, <a href="/knigi-lubovnye-romany/ostrosyuzhetnyye/" class="biblio_info__link"><span class="uppercase">о</span>стросюжетные любовные романы</a></li>
Как вариант можно так:

- Регуляркой спарсить в список
- Объединить список в переменную
- Почистить переменную от тегов </span>
- Очистить список
- Добавить переменную в список

upload_2019-7-23_10-7-52.png


Шаблон приложил.
 

Вложения

  • Спасибо
Реакции: twisterrr

twisterrr

Client
Регистрация
25.12.2011
Сообщения
284
Благодарностей
23
Баллы
18

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 512
Благодарностей
8 702
Баллы
113

twisterrr

Client
Регистрация
25.12.2011
Сообщения
284
Благодарностей
23
Баллы
18

Вложения

  • Спасибо
Реакции: Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 512
Благодарностей
8 702
Баллы
113
Отлично! в который раз убеждаюсь, что новый инструмент парсинга данных - замечательная штука. :-)
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)