码迷,mamicode.com
首页 > 其他好文 > 详细

BeautifulSoup中的select方法

时间:2017-11-23 08:33:22      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:style   属性   分享   sel   images   --   href   否则   lis   

技术分享图片

在写css时,标签名不加任何修饰类名前加点id名前加 #,我们可以用类似的方法来筛选元素,用到的方法是soup.select(),返回类型是list。

(1).通过标签名查找

print(soup.select(title))
# [<title>The Dormouse‘s story</title>]

print(soup.select(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>]

print(soup.select(b))
# [<b>The Dormouse‘s story</b>]

(2).通过类名查找

print soup.select(.sister)
# [<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>]

(3).通过id名查找

print soup.select(#link1)
#[<a class="sister" href="http://example.com/elsie" id="link1"><!-- Elsie --></a>]

(4).组合查找

组合查找即和写class文件时,标签名与类名、id名进行的组合原理是一样的,例如查找p标签中,id等于link1的内容,二者需要空格分开

print soup.select(p #link1)
#[<a class="sister" href="http://example.com/elsie" id="link1"><!-- Elsie --></a>]

直接子标签查找

print soup.select("head > title")
#[<title>The Dormouse‘s story</title>]

(5).属性查找

查找时还可以加入属性元素,属性需要用中括号括起来,注意属性和标签属于同一节点,所以中间不能加空格,否则会无法匹配到。

print soup.select("head > title")
#[<title>The Dormouse‘s story</title>]
 
print soup.select(a[href="http://example.com/elsie"])
#[<a class="sister" href="http://example.com/elsie" id="link1"><!-- Elsie --></a>] 

属性仍然可以与上述查找方式组合,不在同一节点的空格隔开,同一节点的不加空格

print soup.select(p a[href="http://example.com/elsie"])
#[<a class="sister" href="http://example.com/elsie" id="link1"><!-- Elsie --></a>]

BeautifulSoup中的select方法

标签:style   属性   分享   sel   images   --   href   否则   lis   

原文地址:http://www.cnblogs.com/keye/p/7881356.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!