BeautifulSoup库-查找方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BeautifulSoup库-查找方法相关的知识,希望对你有一定的参考价值。
参考技术A 主要内容:BeautifulSoup的常用查找方法及参数介绍。<>.find_all(name,attrs,recursive,string,**kwargs):返回列表类型,存储查找结果,可用于BeautifulSoup对象和标签。
name:对标签名称的检索字符串
attrs:对标签属性进行检索可标注属性检索
recursive:是否对子孙全部索引,默认为True
string:对标签中的字符全区域进行检索
测试字符串:
输出所有<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>]
输出:
http://example.com/elsie
http://example.com/lacie
http://example.com/tillie
输出:
---- [<p class="title"><b>The Dormouse's story</b></p>]
---- [<a class="sister" href="http://example.com/elsie" id="link1">Elsie</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>]
输出:---- [<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>]
---- []
输出:---- ["The Dormouse's story", "The Dormouse's story"]
---- ["The Dormouse's story", "The Dormouse's story"]
补充方法:
<>.find():搜索且只返回第一个找到的结果,参数同find_all()
<>.find_parent():在先辈节点中搜索,返回一个结果,参数同find_all()
<>.find_parents():在先辈节点中搜索,返回列表,参数同find_all()
<>.find_next_sibiling():在后序平行节点中搜索,返回一个结果,参数同find_all()
<>.find_next_sibilings():在后序平行节点中搜索,返回列表,参数同find_all()
<>.find_previous_sibiling():在前序平行节点中搜索,返回一个结果,参数同find_all()
<>.find_previous_sibilings():在前序平行节点中搜索,返回一个列表,参数同find_all()
beautifulsoup 根据class属性查找标签的方法。
写爬虫的时候遇到的:
导入beautifulSoup后,
查找类似<div class = "abcd">的时候,
直接使用beautifulsoup的方法:
soup.findall("div", class="abcd")
这样写的时候回报错,
按照官方的一种方法写在class后加“_“试了试没什么用。虽说不报错,但返回的时空,匹配不到值,
使用另一种方法:
soup.findAll(name="div", attrs={"class" :"abcd"}
attrs内应该可以加多个键值对,用逗号隔开应该就可以了,
以上是关于BeautifulSoup库-查找方法的主要内容,如果未能解决你的问题,请参考以下文章