【问题标题】:How to remove HTML text from my text files如何从我的文本文件中删除 HTML 文本
【发布时间】:2020-04-06 17:24:47
【问题描述】:

我需要从我的文本文件中删除 HTML

这是我的代码

import requests
from bs4 import BeautifulSoup


url = 'https://psalmboek.nl/zingen.php?psID='
psalm = 1
url3 = '&psvID='
vers = 1
url5 = '#psvs'

end_psalm = 150
end_vers = 10

我找到了这个变量,但我不知道如何将它放入我的循环中

def remove_html_tags(text):
    """Remove html tags from a string"""
    import re
    clean = re.compile('<.*?>')
    return re.sub(clean, '', text)

是否也可以将 psalm += 1 重复到第 150 psalter?

while vers != end_vers:

    response = requests.get(url + str(psalm) + url3 + str(vers) + url5)

    soup = BeautifulSoup(response.text, "html.parser")
    soup.findAll('p')
    one_a_tag = soup.findAll('p')[0]
    f = open("psalm"+str(psalm)+"_"+"vers"+str(vers) +  ".txt","w+")
    f.write(str(one_a_tag))
    f.close
    vers += 1
    print (vers)

所以我需要删除来自 one_a_tag 的所有 HTML 代码

【问题讨论】:

  • "是否也可以使用 psalm += 1 来重复到第 150 psalter?" -> 那是可能的。但请注意不要将您的请求误认为是恶意的拒绝服务攻击。

标签: python html loops variables


【解决方案1】:

如果我没听错的话,你可以试试这个代码:

    f.write(re.sub(re.compile('<.*?>'), '', str(one_a_tag)))

【讨论】:

  • 我的代码不理解 re.sub 和 re.compile
  • 更新:我导入了 re 并且它起作用了。非常感谢你。现在我需要一些东西,可以看到什么时候去下一个 psalter
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
  • 2011-04-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多