【问题标题】:Python (Beautiful Soup) to Pull out Text?Python(美丽的汤)提取文本?
【发布时间】:2021-05-24 22:00:33
【问题描述】:

我想从多个 html 文件的两个标签之间提取一些文本,然后将该文本添加到单独的文件中。

基本思想是我需要将页面的不同部分翻译成不同的语言。

此文本将被翻译,返回,然后需要添加回原来在 html 文件中的位置。

我很确定我应该使用 Beautiful Soup 来做到这一点,但我不知道怎么做。我查看了该网站上的其他问题,但我的一些具体问题使这变得困难。

  1. 标签不是html标签,它们是xml但也有空格

例如,它类似于

<Generic:tagName more-st-uff="Foo_Bar.xx_YY">text to be translated</Generic:tagName>

<Generic:tagName more-st-uff="Foo_Bar.aa_BB">text to be translated</Generic:tagName>

这里xx_YY和aa_BB是语言标签,语言缩写_COUNTRY ABBREVIATION

  1. 我希望它同时在多个文件上运行

  2. 每个文本 sn-p 都应该放在它自己的文件中

  3. 我需要以某种方式将该文本剪切(翻译)回 html 文件中。

我什至从哪里开始?我对 Python 还很陌生。

【问题讨论】:

标签: python html beautifulsoup translation


【解决方案1】:
  1. BeautifulSoup 与 XML 配合得很好。
  2. 您可以使用os.listdir() 来获取 XML 文件,然后遍历它们并处理每个文件。
  3. 您可以有一个正在运行的标签计数器并生成一个包含标签号的文件名。
  4. 您可以在 BeautifulSoup 中编写属性(例如设置attrtext),然后在文档上使用str(soup) 来取回修改后的XHTML。

由于这是一个翻译工作,我假设您将要编写两个非常相似的 Python 脚本。基于 XML 文件的目录,第一个脚本可以提取您需要转换为编号文件的所有文本。第二个脚本将对标签进行完全相同的迭代,但从编号文件中读取文本并将它们写入标签。然后它将修改后的 XHTML 写入一个新文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    • 2020-01-19
    • 2021-04-03
    • 2016-09-11
    • 2017-05-29
    • 2015-05-08
    相关资源
    最近更新 更多