Как заставить BeautifulSoup использовать мой собственный класс вместо класса bs4.element.Tag, который он использует для Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как заставить BeautifulSoup использовать мой собственный класс вместо класса bs4.element.Tag, который он использует для

Сообщение Anonymous »

Я использую BeautifulSoup4 для синтаксического анализа HTML-строки в структурированный объект, но для каждого HTML-элемента (например,soup.body.title) я хотел, чтобы был атрибут с именем embed (например,soup.body.title.embed).< /p>
Поэтому я создал дочерние классы для Tag и BeautifulSoup с добавленным атрибутом embed, и хотя тип объекта корневого узла — EmbedSoup, который, как я и предполагал, является типом Soup.body< /code> — это bs4.element.Tag вместо EmbedTag.
Как убедиться, что все элементы дерева BeautifulSoup имеют тип EmbedTag, а не bs4.element.Tag? Есть ли другое решение этой проблемы?
class EmbedTag(Tag):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.embed = None # Initialize the embed attribute to None

class EmbedSoup(BeautifulSoup):
def __init__(self, *args, **kwargs):
kwargs['element_classes'] = {'tag': EmbedTag}
super().__init__(*args, **kwargs)
# Parse the HTML with the custom BeautifulSoup class
soup = EmbedSoup(html_content, 'html.parser')
type(soup) --> EmbedSoup
type(soup.body) --> bs4.element.Tag


Подробнее здесь: https://stackoverflow.com/questions/786 ... nt-tag-cla
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • `.find('li')` для объекта `bs4.element.Tag` дает None, хотя тег `
  • ` существует внутри супа
    Anonymous » » в форуме Python
  • 0 Ответы
    86 Просмотры
    Последнее сообщение Anonymous
  • Как найти теги в объекте BS4.Element.Resultset Type
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Ошибка импорта: нет модуля с именем bs4 (BeautifulSoup) [дубликат]
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как получить входной идентификатор от Herper Asp-For Tag в другом пользовательском помощнике Tag Helper
    Anonymous » » в форуме C#
    0 Ответы
    63 Просмотры
    Последнее сообщение Anonymous
  • Android-Manifest Tag-Tag- ориентация на экран.
    Anonymous » » в форуме Android
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»