BeautifulSoup 常用用法

2017/04/01 11:42 am posted in  Python 黑魔法

安装

pip install beautifulsoup4

解析器需要单独安装,html 解析器:

pip install html5lib

更多安装相关查看文档: 安装解析器

解析

搜索引擎收录的中文文档有点老旧,直接使用会报错,但是解析是一件很简单的事情:

from bs4 import BeautifulSoup
soup = BeautifulSoup(html_txt, "html5lib")

定位

定位分两种,一个是直接根据标签:

soup.title
# <title>The Dormouse's story</title>

soup.title.name
# u'title'

soup.title.string
# u'The Dormouse's story'

soup.title.parent.name
# u'head'

soup.p
# <p class="title"><b>The Dormouse's story</b></p>

soup.p['class']
# u'title'

soup.a
# <a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>

另一种是通过 find 方法,该方法支持查找,包括 id,class,标签:

soup.find_all('a')
# [<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>,
#  <a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>,
#  <a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>]

soup.find(id="link3")
# <a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>