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’)]
网友评论