从输出中删除HTML标记

时间:2014-02-25 17:43:54

标签: python html scrape

我是python的新手,无法从输出中删除html标记。我想删除标签及其中的内容。我还要删除p标签。有什么建议?

import urllib2
from bs4 import BeautifulSoup

# Ask user to enter URL
url = raw_input("Please enter a valid URL: ")

# Make sure file is clear for new content
open('ctp_output.txt', 'w').close()

# Open txt document for output
txt = open('ctp_output.txt', 'w')

# Parse HTML of article, aka making soup
soup = BeautifulSoup(urllib2.urlopen(url).read())

# retrieve all of the paragraph tags
tags = soup('p')
txt.write(str(tag) + '\n' + '\n')

# Close txt file with new content added
txt.close()

1 个答案:

答案 0 :(得分:0)

使用get_text()函数而不是字符串表示形式(str(tag))从标记中检索文本部分。

在上面的代码中,更改将是替换此行:

txt.write(str(tag) + '\n' + '\n')

使用:

txt.write(tag.get_text() + '\n' + '\n')