BeautifulSoup

如何使用BeautifulSoup

它由很多标签(Tag)组成,比如 html、head、title等等都是标签

一个标签对构成一个节点,比如 ...是一个根节点

节点之间存在某种关系,比如 h1 和 p 互为邻居,他们是相邻的兄弟(sibling)节点

h1 是 body 的直接子(children)节点,还是 html 的子孙(descendants)节点

body 是 p 的父(parent)节点,html 是 p 的祖辈(parents)节点

嵌套在标签之间的字符串是该节点下的一个特殊子节点,比如 “hello, world” 也是一个节点,只不过没名字。

构建一个 BeautifulSoup 对象需要两个参数,第一个参数是将要解析的 HTML 文本字符串,第二个参数告诉 BeautifulSoup 使用哪个解析器来解析 HTML。

解析器负责把 HTML 解析成相关的对象,而 BeautifulSoup 负责操作数据(增删改查)。“html.parser” 是 Python 内置的解析器,“lxml” 则是一个基于c语言开发的解析器,它的执行速度更快,不过它需要额外安装

通过 BeautifulSoup 对象可以定位到 HTML 中的任何一个标签节点。

from bs4 import BeautifulSoup

text = """

hello, world

BeautifulSoup

如何使用BeautifulSoup

第二个p标签

python

"""

soup = BeautifulSoup(text, "html.parser")

# title 标签

>>> soup.title

hello, world

# p 标签

>>> soup.p

\u5982\u4f55\u4f7f\u7528BeautifulSoup

# p 标签的内容

>>> soup.p.string

u'\u5982\u4f55\u4f7f\u7528BeautifulSoup'

遍历文档树,顾名思义,就是是从根节点 html 标签开始遍历,直到找到目标元素为止,遍历的一个缺陷是,如果你要找的内容在文档的末尾,那么它要遍历整个文档才能找到它,速度上就慢了。因此还需要配合第二种方法。

通过遍历文档树的方式获取标签节点可以直接通过 .标签名的方式获取,例如:

获取 body 标签:

>>> soup.body

\n

BeautifulSoup

\n

\u5982\u4f55\u4f7f\u7528BeautifulSoup

\n

python爬虫实训总结报告_python爬虫简单总结(一)相关推荐

  1. python爬虫实训实验报告_用Pycharm进行scrapy爬虫的实验报告

    1. 实验内容 使用Pycharm写代码,采用scrapy爬取红袖小说网前十页的作品信息. 2. 试验环境 操作系统:window10 家庭版64位操作系统 Python版本:python 3.7.3 ...

  2. python综合实训项目教程_Python安全编程项目实训教程

    Python是一门非常强大的高级程序语言,其具有语法简洁.可读性高.开发效率高.可移植性.支持自行开发或第三方模块.可调用C和C++库.可与Java组建集成等优点,已被应用到Web开发.操作系统管理. ...

  3. 计算机组成原理实训重要吗,计算机组成原理实训_报告.doc

    计算机组成原理实训_报告 课 程 设 计 题 目: 计算机组成原理实训 学生姓名: 学 号: 指导老师: 系 别: 电子系 专 业: 电子信息工程 年 级: 班 级: 目 录 第一节 引言1 1.1 ...

  4. 计算机应用基础实验报告心得体会,计算机应用基础实训总结报告

    <计算机应用基础实训总结报告>由会员分享,可在线阅读,更多相关<计算机应用基础实训总结报告(4页珍藏版)>请在人人文库网上搜索. 1.计算机应用基础实训总结报告 [ - 计算机 ...

  5. java聊天室代码实训总结_java实训聊天系统报告总结

    金融实训报告总结范文 java实训聊天系统报告,实训能让人收获良多,下面带来,欢迎阅读参考. 1 经过三个星期的学习,我们终于把这个图书馆管理系统做出来了,虽然做得不是很完美,但是却是我们这个小组的每 ...

  6. (字节跳动公司中山大学合作)IOS科研实训个人报告

    IOS科研实训个人报告 (2019年春季学期) 一.实验题目 IM聊天工具 二.实现内容 个人详情页面 个人信息修改页面 修改头像 好友聊天--图片发送与显示 三.实验结果 1.个人详情页面 效果截图 ...

  7. 大学计算机组装与维护实训的目的,计算机组装与维护实训实习报告

    计算机组装与维护实训实习报告 实验一 微机组装 一. 实训目标 通过学习本实训内容,掌握微机组装方面的知识,进一步加深对微机硬件系统的认识,具备微机硬件维护的基本功能. 二. 实训内容 分组练习微机硬 ...

  8. 2020秋计算机应用基础本实训任务,国家开放大学计算机应用基础(本)形考任务二(实训任务报告)报告报告...

    实训任务报告汇总通过这次实训,真真确确的感受到计算机在我们生活工作中的运用,这些软件.程序能让我们提高工作效率,更直观便捷的切入主题.实践证明,只有掌握了这些基础知识和基本的使用方法,才能为今后的学习 ...

  9. 计算机常用工具软件实训总结报告,计算机常用工具软件实训报告.doc

    文档介绍: 计算机常用工具软件实训报告图像浏览及处理工具软件报告<计算机常用工具软件-----isee>实训报告班级:工业设计10班姓名:实训地点:1-706指导教师:年月日:2011-1 ...

  10. 单片机c语言 王东锋,单片机实训总结报告.docx

    单片机实训总结报告.docx 超声波测距实训总结报告专业 电子信息工程 班级 信息091 姓名 郑干恒(15) 何清华(43) 指导教师 邬志锋 日期 2012.6. 19 广东交通职业技术学院交通信 ...

最新文章

  1. java 1000个线程_关于Java多线程的一个问题
  2. WCF 4.0 REST服务解决Method Not Allowed错误
  3. qt linux 添加库文件路径,Linux下Qt调用共享库文件.so
  4. 【计算机网络】——流量控制与可靠传输机制
  5. oracle 中表变量的用法,oracle 表类型变量的使用
  6. 以V神为灵感创作的加密艺术NFT“EthBoy”以260ETH高价售出
  7. Fix Elementary Boot Screen (plymouth) After Installing Nvidia Drivers
  8. vue:无法将“vue”识别为脚本_Vue3将带来巨大的性能提升
  9. 查询提升 200 倍,ClickHouse 你值得拥有!
  10. Java将xml转docx,java对象与xml间的转换.docx
  11. 商务本能否一本通吃?
  12. 计算机网络实验四协议分析心得,计算机网络原理实验_使用网络协议分析仪Wireshark...
  13. 交换机连接路由器计算机联网,交换机上连接路由器_连上路由器(交换器)后部分电脑无法上网的解决方法_交换机上接路由器...
  14. 错误:Attempted read from closed stream尝试读取关闭的流!!!
  15. OpenCV —— 特征点检测之 SIFT 特征检测器
  16. 【防坑指南】nginx重启后出现[error] open() “/usr/local/var/run/nginx/nginx.pid” failed
  17. foxmail7.2导入地址簿
  18. SEO之网站快速被收录
  19. 福禄克FLUKE DTX-1800和DSX2-8000系列电缆认证分析仪如何导出测试报告?
  20. 计算机组成原理——指令格式

热门文章

  1. 关于选课系统的的界面设计、类图设计、数据库设计。
  2. 春天不远:熬过寒冬,步入冰川时代,静待下一个新纪元!
  3. 惊喜! UE4 + ftrack开源了!
  4. 机器学习SVM之SMO方法α,ω和b迭代公式的推导过程
  5. Structure-Grounded Pretraining for Text-to-SQL 论文解读
  6. js中获取月份date.getMonth()获取的是0-11
  7. CRM上线之路 走上了CRM实施顾问-第101天上班 -第21周
  8. 企业微信登陆,操作企业微信通讯录(代码已上传github)
  9. 十分钟带你解读什么是Promise异步编程
  10. 实训任务4:Hadoop综合操作