我是靠谱客的博主 鲜艳哈密瓜,最近开发中收集的这篇文章主要介绍BeautifulSoup简明教程安装tag对象,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

官方中文帮助文档

安装

conda install bs4
conda install lxml

tag对象

  • .name
  • .string
  • [‘attr’]
    • [‘class’]
    • [‘id’]

#寻找tag的方法

直接定位tag对象(这个不常用)

  • soup.head.title 用根对象层层找下去,找到第一个就返回。
  • 返回一个tag对象

CSS选择器 select/select_one

  • tag.select(‘html head title’) # 按名字找,逐层查找,有子孙关系即可返回tag列表
  • tag.select(‘html>head>title’) # 按名字找,逐层查找强调直接父子关系
  • tag.select(’#link1’) # 按id属性来找
  • tag.select(’.sister’) # 按class属性来找
  • tag.select(’.sister,.brother’) # 按class多属性来找
  • tag.select(‘a[href]’) # 按属性是否存在来找
  • tag.select(‘a[href=“xxx”]’) # 按属性的值找
  • 找到多个对象
  • 返回list
  • soup和tag都可以用

find_all (支持正则表达式)

  • 函数原型:find_all( name , attrs , recursive , string , **kwargs ) 返回tag列表
  • –name–
  • tag.find_all(“a”) #找name a
  • soup.find_all([“a”, “b”]) #找到文档中所有和的tag
  • soup.find_all(re.compile("^b")) #找出所有以b开头的tag,和标签都应该被找到
  • soup.find_all(True) #找到所有tag,但是不会返回字符串节点
  • –class–
  • soup.find_all(“p”, “title”) # p元素的class是title
  • soup.find_all(“a”, class_=“sister”) #class是sister的a元素,注意这里不考虑多值问题,要完全匹配属性字符串
  • soup.find_all(class_=re.compile(“itl”)) #包括itl的元素
  • –id&string–
  • soup.find_all(id=“link2”)
  • soup.find_all(string=“Elsie”)
  • –other–
  • soup.find_all(“a”, limit=2) #限制个数
  • soup.find_all(“title”, recursive=False) #直接孩子
  • soup.find_all(surrounded_by_strings) #按条件函数过滤

最佳实践

find_all

例子

for tag in soup.find_all(re.compile("t")):
print(tag.name)
# html
# title
  • soup.find_all(span)

最后

以上就是鲜艳哈密瓜为你收集整理的BeautifulSoup简明教程安装tag对象的全部内容,希望文章能够帮你解决BeautifulSoup简明教程安装tag对象所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部