提取网页正文的主要内容 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’)]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容