一、安装
通过命令:pip3 install Beautifulsoup4;
安装后运行:from bs4 import BeautifulSoup,没有报错,说明安装正常;
二、解析库
Beautifulsoup有四种解析方法:
1、BeautifulSoup(markup,"html.parser") 解析速度适中,文档容错能力强
2、BeautifulSoup(markup,"lxml") 解析速度快,文档容错能力强,但是需要安装C语言库
3、BeautifulSoup(markup,"xml") 解析速度快,唯一支持XML的解析器,但是需要安装C语言库
4、BeautifulSoup(markup,"html5lib") 最好的容错性,以浏览的方式解析文档,生成HTML5格式的文档,但是解析速度慢
三、基本使用
使用type查看获取tag的类型发现,每个标签的类型都是<class 'bs4.element.Tag'>,也就是说通过soup.title这样的形式获取的类型都是Tag类型;
四、常用标签选择器
1、选择元素:与HTML中的标签一样,直接获取对应名称;
2、获取名称:通过name属性,可以直接获取到标签的名称;
3、获取属性:通过attrs属性获取属性值,或者直接获取属性值;
4、获取内容
5、嵌套选择
6、子节点:代码中存在层级结构
contents属性:返回形式是列表形式;
children属性:返回形式是列表类型,需要通过迭代的方式将里面数据取出(使用enumerate属性);
descendants属性:返回形式也是列表类型,但是会将标签页下面的所有节点返回(使用enumerate属性);
7、父节点:父节点类型是Tag类型;
8、兄弟节点:
next_siblings:获取下面的兄弟节点;
previous_siblings:获取前面的兄弟节点;
五、文档树搜索
1、find_all(name, attrs, recursive, text, **kwargs):根据标签名,属性,内容进行查找,返回所有元素;
name:根据标签名查找标签,返回查找的所有元素
attrs:根据属性名进行查找,返回所有元素(注:使用class进行查找元素,因为class在Python中相当于一个关键字,不能当做参数进行使用,需要使用class_当做参数进行使用)
text:根据内容进行查找,返回所有元素
2、find(name, attrs, recursive, text, **kwargs):根据标签名,属性,内容进行查找,返回单个元素;
六、CSS选择器
通过select()直接传入CSS参数即可;
1、获取属性:
2、获取内容:

Beautiful用法总结的更多相关文章

  1. Python之Beautiful Soup的用法

    1. Beautiful Soup的简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.pyt ...

  2. Python爬虫利器二之Beautiful Soup的用法

    上一节我们介绍了正则表达式,它的内容其实还是蛮多的,如果一个正则匹配稍有差池,那可能程序就处在永久的循环之中,而且有的小伙伴们也对写正则表达式的写法用得不熟练,没关系,我们还有一个更强大的工具,叫Be ...

  3. python beautiful soup库的超详细用法

    原文地址https://blog.csdn.net/love666666shen/article/details/77512353 参考文章https://cuiqingcai.com/1319.ht ...

  4. python爬虫(7)--Beautiful Soup的用法

    1.Beautiful Soup简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据. Beautiful Soup提供一些简单的.python式的函数用来 ...

  5. Beautiful Soup库基础用法(爬虫)

    初识Beautiful Soup 官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/# 中文文档:https://www.crumm ...

  6. Beautiful Soup的用法

    BEAUTIFUL SOUP的介绍 就是一个非常好用.漂亮.牛逼的第三方库,是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree). 它提供简 ...

  7. python 爬虫5 Beautiful Soup的用法

    1.创建 Beautiful Soup 对象 from bs4 import BeautifulSoup html = """ <html><head& ...

  8. Python爬虫利器之Beautiful Soup,Requests,正则的用法(转)

    https://cuiqingcai.com/1319.html https://cuiqingcai.com/2556.html https://cuiqingcai.com/977.html

  9. Beautiful Soup的用法(五):select的使用

    原文地址:http://www.bugingcode.com/blog/beautiful_soup_select.html select 的功能跟find和find_all 一样用来选取特定的标签, ...

随机推荐

  1. Appium环境搭建-完整版

    环境依赖 Node.js Appium Appium-desktop Appium-doctor Appium-Python-Client Python JDK Andriod SDK 以上所需的软件 ...

  2. You Are the One HDU - 4283 (区间DP)

    Problem Description The TV shows such as You Are the One has been very popular. In order to meet the ...

  3. spring boot下使用logback或log4j生成符合Logstash标准的JSON格式

    spring boot下使用logback或log4j生成符合Logstash标准的JSON格式 一.依赖 由于配置中使用了json格式的日志输出,所以需要引入如下依赖 "net.logst ...

  4. Vue针对性笔记

    Github原文阅读 MVVM(Model-View-ViewModel)模型 MVVM分为Model.View.ViewModel三部分. Model代表数据模型,定义数据和业务逻辑,访问数据层 V ...

  5. myeclipse使用maven整合ssh配置

    最近写项目,由于公司需求,使用myeclispe来开发maven项目,关于maven就不再介绍,无论是jar包管理功能,还是作为版本构建工具,优点自然是很多,下面先贴出所需要的配置文件. maven所 ...

  6. bootstrap: 内联表单;

    <form class="form-inline"> <div class="form-group"> <label for=&q ...

  7. 编写高质量的Python代码系列(五)之并发与并行

    用Python可以很容易就能写出并发程序,这种程序可以在同一时间做许多间不同的事情.我们也可以通过系统调用.子进程(subprocess)及C语言扩展来实现并行处理. 第三十六条: 用subproce ...

  8. 机器学习在入侵检测方面的应用 - 基于ADFA-LD训练集训练入侵检测判别模型

    1. ADFA-LD数据集简介 ADFA-LD数据集是澳大利亚国防学院对外发布的一套主机级入侵检测数据集合,包括Linux和Windows,是一个包含了入侵事件的系统调用syscall序列的数据集(以 ...

  9. 虚拟代理模式-Virtual Proxy(Java实现)

    虚拟代理模式-Virtual Proxy 虚拟代理模式(Virtual PRoxy)会推迟真正所需对象实例化时间. 在需要真正的对象工作之前, 如果代理对象能够处理, 那么暂时不需要真正对象来出手. ...

  10. jq选择器(jq 与 js 互相转换),jq操作css样式 / 文本内容, jq操作类名,jq操作全局属性,jq获取盒子信息,jq获取位置信息

    jq选择器(jq 与 js 互相转换) // 获取所有的页面元素jq对象 $('css3选择器语法'); var $box = $(".box:nth-child(1)"); 获取 ...