提取网页正文的主要内容 BeautifulSoup

Python的BeautifulSoup包的使用:

from bs4 import BeautifulSoup

soup = BeautifulSoup.BeautifulSoup(html)

利用这个包先把html里script,style给清理了

[script.extract()for scriptin soup.findAll('script')]

[style.extract()for stylein soup.findAll('style')]

清理完成后,这个包有一个prettify()函数,把代码格式给搞的标准一些:

soup.prettify()

然后用正则表达式,把所有的HTML标签全部清理了:

reg1 =re.compile("<[^>]*>")

content =reg1.sub('',soup.prettify())

prettify()可以用于BeautifulSoup对象也可以用于任何标签对象。比如:

producer_entry = soup.ul

print(producer_entry.prettify())

使用get_text(),如果我们只想得到BeautifulSoup对象的文本或标签对象的文本内容,我们可以使用get_text()方法。比如:

soup = BeautifulSoup(html_markup,“lxml”)

print(soup.get_text())

但是get_text()有个问题是它同样也会返回javascript代码。去掉javascript代码的方法如下:

[x.extract()for xin soup_packtpage.find_all(‘script’)]

你可能感兴趣的:(提取网页正文的主要内容 BeautifulSoup)