使用htmlparser python在标记下获取html

2024-05-13 18:58:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把整个html放在一个标签下并使用HTMLParser。我现在可以得到标签之间的数据,下面是我的代码

class LinksParser(HTMLParser):
  def __init__(self):
    HTMLParser.__init__(self)
    self.recording = 0
    self.data = ''

  def handle_starttag(self, tag, attributes):
    if tag != 'span':
      return
    if self.recording:
      self.recording += 1
      return
    for name, value in attributes:
      if name == 'itemprop' and value == 'description':
        break
    else:
      return
    self.recording = 1

  def handle_endtag(self, tag):
    if tag == 'span' and self.recording:
      self.recording -= 1

  def handle_data(self, data):
    if self.recording:
      self.data += data

我还希望输入中包含html标记,例如

<span itemprop="description">
<h1>My First Heading</h1>
<p>My first <br/><br/>paragraph.</p>
</span>

当作为输入提供时,只会给我没有标签的数据。有没有什么方法可以让我在标签之间得到整个html?


Tags: 数据selfdatareturnifinitdefhtml