如何使用Python获取这个span标签内的内容?

1 投票
3 回答
509 浏览
提问于 2025-04-16 05:48

我正在尝试从谷歌翻译中抓取信息,作为一个学习练习,但我不知道怎么找到这个标签里的内容。

<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

Python自带了一些用于解析XML和HTML的工具。

我建议你先看看Python自带的解析器,如果觉得这些模块不够好,再去找第三方的解析器。

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.
3

可以去看看 BeautifulSoup 这个工具。

撰写回答