Python爬虫_第一篇 爬虫之路(2)_Beautiful Soup遍历文档树

Beautiful Soup是学习到的第一个爬虫库,以下内容是小结。具体学习查看文档链接。

文档链接:https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/#

2、Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间。

  • 推荐在现在的项目中使用Beautiful Soup 4, 移植到BS4。

2.1  HTML代码进行标准的缩进格式

html_doc="""
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p>

<p class="story">Once upon a time there were three little sisters; and 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>
"""


# 使用BeautifulSoup解析这段代码,能够得到一个beautifulsoup对象,并能按照标准的缩进格式的结构输出。
from bs4 import BeautifulSoup
soup=BeautifulSoup(html_doc,'html.parser')

print(soup.prettify())  # prettify()为beautifulsoup的格式化输出函数

2.2  遍历文档树

解释:

  • 得到标签对象 Tag: Soup=BeautifulSoup(html).a

  • 得到标签对象Tag的名字:Soup.name

  • 得到标签对象Tag的属性:Soup.attrs

  • 得到标签对象Tag的属性相应键对应的值:Soup[class]

  • 得到标签对象Tag属性的具体值:Soup.get(href)

  • 得到标签对象Tag的子节点以列表方式:Soup.contents
  • 得到<a>标签中的<title>标签:Soup.title

  • 得到可遍历的字符串NavigableString对象:Soup.string
  • 得到Tag中多个字符串:Soup.string【循环获取】

  • 得到Tag的子节点:Soup.children【递归循环】

  • 得到Tag所有子孙节点:Soup.descentants【递归循环】

  • 得到title的父节点:Soup_title.parent
  • 得到兄弟节点:Soup.next_sibling/ Soup.previous_sibling

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值