如何使用Python获取此span标记内的内容?

时间:2010-10-20 16:09:50

标签: python html-parsing

我正在尝试将Google翻译中的信息作为学习练习,我无法弄清楚如何获取此span标记的内容。

<span title="Hello" onmouseover="this.style.backgroundColor='#ebeff9'"                                  
      onmouseout="this.style.backgroundColor='#fff'">
    Hallo
</span>

我如何使用Python来访问内容。由于此范围的'title'参数是动态的,我想我可以将其作为一个入口点?

例如尝试翻译: 嗨,欢迎来到我家。你想要一杯茶还是一些饼干?

导致以下html输出:

<span title="Hi, welcome to my house." 
onmouseover="this.style.backgroundColor='#ebeff9'" 
onmouseout="this.style.backgroundColor='#fff'">
    Hallo, mein Haus begrüßen zu dürfen. 
</span>

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

# -*- coding: utf-8 -*-
def gettext(html):
    for sp in myhtml.split("</span>"):
       if "<span" in sp:
          return sp.rsplit(">")[-1].strip()

myhtml="""
<span title="Hello" onmouseover="this.style.backgroundColor='#ebeff9'"
      onmouseout="this.style.backgroundColor='#fff'">
    Hallo
</span>
"""

print gettext(myhtml)

myhtml="""
<span title="Hi, welcome to my house."
onmouseover="this.style.backgroundColor='#ebeff9'"
onmouseout="this.style.backgroundColor='#fff'">
    Hallo, mein Haus begrüßen zu dürfen.
</span>
"""

print gettext(myhtml)

输出

$ python mytranslate.py
Hallo
Hallo, mein Haus begrüßen zu dürfen.

答案 2 :(得分:0)

Python附带了一些XML和HTML解析器。

我建议您首先查看Python附带的解析器,如果找不到任何包含的模块,请查看第三方解析器。