python bs4 的使用

Python016

python bs4 的使用,第1张

html_doc = """

<html>

<head>

<title>The Dormouse's story</title>

</head>

<body>

<p class="title aq">

<b>

The Dormouse's story

</b>

</p>

<p class="story">Once upon a time there were three little sistersand their names were

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

<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a>

and

<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>

and they lived at the bottom of a well.

.</p>

<p class="story">...</p>

"""

html字符串创建BeautifulSoup对象 :

soup = BeautifulSoup(html_doc, 'html.parser', from_encoding='utf-8')

输出第一个 title 标签

print soup.title

输出第一个 title 标签的标签名称 :

print soup.title.name

输出第一个 title 标签的包含内容 :

print soup.title.string

输出第一个 title 标签的父标签的标签名称 :

print soup.title.parent.name

输出第一个 p 标签

print soup.p

输出第一个 p 标签的 class 属性内容 :

print soup.p['class']

输出第一个 a 标签的 href 属性内容 :

print soup.a['href']

'''''

soup的属性可以被添加,删除或修改. 再说一次, soup的属性操作方法与字典一样

'''

修改第一个 a 标签的href属性为 http://www.baidu.com/

soup.a['href'] = ' http://www.baidu.com/'

给第一个 a 标签添加 name 属性 :

soup.a['name'] = u'百度'

删除第一个 a 标签的 class 属性为 :

del soup.a['class']

输出第一个 p 标签的所有子节点 :

print soup.p.contents

输出第一个 a 标签 :

print soup.a

输出所有的 a 标签,以列表形式显示 :

print soup.find_all('a')

输出第一个 id 属性等于 link3 的 a 标签 :

print soup.find(id="link3")

获取所有文字内容 :

print(soup.get_text())

输出第一个 a 标签的所有属性信息 :

print soup.a.attrs

for link in soup.find_all('a'):

获取 link 的 href 属性内容

print(link.get('href'))

对soup.p的子节点进行循环输出 :

for child in soup.p.children:

print(child)

正则匹配,名字中带有b的标签 :

for tag in soup.find_all(re.compile("b")):

print(tag.name)

import bs4#导入BeautifulSoup库

Soup = BeautifulSoup(html)#其中html 可以是字符串,也可以是句柄

需要注意的是,BeautifulSoup会自动检测传入文件的编码格式,然后转化为Unicode格式

通过如上两句话,BS自动把文档生成为如上图中的解析树。

在python官网找到beautifulsoup模块的下载页面,点击"downloap"将该模块的安装包下载到本地。

相关推荐:《Python教程》

将该安装包解压,然后在打开cmd,并通过cmd进入到该安装包解压后的文件夹目录下。

在该文件目录下输入"python install setup.py",进行beautifulsoup4模块的安装,当安装完成后会看到有"Finished"字样。

安装完成后,在cmd中运行Python,然后输入"from bs4 import BeautifulSoup" 导入该模块,如果成功安装的话将没有任何打印信息,否则会有相应的错误信息打印。

直接通过pip安装

打开cmd,然后在cmd中输入命令“pip install beautifulsoup4”,就可以成功安装beautifulsoup4,不过该版本不一定会是4.4.1,版本会是当前python库中的最新版本。

原因可能出在你没有为Python3 安装模块。

可以试试 pip3 install bs4

或Linux 、mac 下用sudo  pip3 install bs4