Невозможно получить полный контент с помощью селектора

Я написал некоторый селектор, используемый в python, чтобы получить некоторые элементы, и это значение. Я хочу очистить предметы от стиля. Однако, когда я запускаю свой скрипт, он получает только элементы, но не может достичь значения тех элементов, которые разделены тегом «br». Как я могу их схватить? Я не хочу использовать xpath в этом случае, чтобы служить цели. Заранее спасибо.

Вот элементы:

html = ''' <div class="elems"><br> <ul> <li><b>Item Name:</b><br> titan </li> <li><b>Item No:</b><br> 23003400 </li> <li><b>Item Sl:</b><br> 2760400 </li> </ul> </div> ''' 

Вот мой скрипт с селекторами css в нем:

 from lxml import html as e root = e.fromstring(html) for items in root.cssselect(".elems li"): item = items.cssselect("b")[0].text_content() print(item) 

После выполнения я получаю результат:

 Item Name: Item No: Item Sl: 

Результат я получаю:

 Item Name: titan Item No: 23003400 Item Sl: 2760400 

2 Solutions collect form web for “Невозможно получить полный контент с помощью селектора”

Обычно я использую метод .itertext для извлечения текста:

 from lxml.html import fromstring def extract_text(el, sep=' '): return sep.join(s.strip() for s in li.itertext() if s.strip()) tree = fromstring(html) for li in tree.cssselect('.elems li'): print(extract_text(li)) 

Самое простое решение когда-либо. Значения находятся в теге «li», а не «b».

 from lxml import html as e root = e.fromstring(html) for items in root.cssselect(".elems"): item = [item.text_content() for item in items.cssselect("li")] print(''.join(item)) 
  • Python mulitprocessing queue не удерживает всех занятых
  • WSGI: какова цель функции start_response
  • asyncio web scraping 101: выборка нескольких URL-адресов с помощью aiohttp
  • Python-Requests (> = 1. *): Как отключить keep-alive?
  • разбор нескольких страниц без изменения адреса URL
  • Скремблирование динамического содержимого с использованием python-Scrapy
  • Очистка веб-страниц с помощью Python
  • Скремблирование нового сайта ESPN с использованием xpath
  • ScrapyRT против Scrapyd
  • Как ускорить прием HTTP-ответа с использованием jQuery Ajax при большой публикации данных?
  • Скремблирование нескольких страниц, сохранение независимости
  • Python - лучший язык программирования в мире.