文档章节

美丽汤文档学习记录1

czyada
 czyada
发布于 2017/02/01 21:26
字数 421
阅读 17
收藏 0

http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html#id15

美丽汤中文文档~

前面的写在纸上了,有空再藤上来。

Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种: Tag , NavigableString , BeautifulSoup ,Comment .

Tag:

Tag 对象与XML或HTML原生文档中的tag相同,即所有<div>,<a>,<p>,<h>等都属于Tag标签:

soup = BeautifulSoup('<b class="boldest">Extremely bold</b>')
tag = soup.b
type(tag)
# <class 'bs4.element.Tag'>
  1. Tag有很多属性,同时它有最主要的两个方法能够对属性进行操作。  
  •  name

         这个方法的作用是“.name”时能够获取tag的名字。     

tag.name
# u'b'

         注意:

如果改变了tag的name,那将影响所有通过当前Beautiful Soup对象生成的HTML文档:

tag.name = "blockquote"
tag
# <blockquote class="boldest">Extremely bold</blockquote>
  •     Attributes 

          这个方法的作用是“.attrs” 能够获取tag的全部属性。

tag.attrs
# {u'class': u'boldest'}

    2.    Tag 的属性

  • Tag有许多属性,tag的属性的操作方法与字典相同
  • tag的属性可以被添加,删除或修改. 再说一次, tag的属性操作方法与字典一样
tag['class'] = 'verybold'
tag['id'] = 1
tag
# <blockquote class="verybold" id="1">Extremely bold</blockquote>

del tag['class']
del tag['id']
tag
# <blockquote>Extremely bold</blockquote>

tag['class']
# KeyError: 'class'
print(tag.get('class'))
# None
  • 多值属性

 

NavigableString:

字符串常被包含在Tag(标签)内,如

Beautiful Soup用 NavigableString 类来包装tag中的字符串“Extremely bold”。

tag.string
# u'Extremely bold'
type(tag.string)
# <class 'bs4.element.NavigableString'>

NavigableString字符串可以用unicode()方法转换成unicode字符串

unicode_string = unicode(tag.string)
unicode_string
# u'Extremely bold'
type(unicode_string)
# <type 'unicode'>

tag中的字符串不能编辑,但可以替换掉,使用replace_with()方法。

tag.string.replace_with("stringstring")

© 著作权归作者所有

czyada
粉丝 0
博文 3
码字总数 605
作品 0
廊坊
私信 提问
零基础的我是这样开始写Python爬虫的(附代码)

来源:程序猿 本文长度为2863字,建议阅读5分钟 本文为你分享零基础开始写爬虫的经验。 刚开始接触爬虫的时候,简直惊为天人,十几行代码,就可以将无数网页的信息全部获取下来,自动选取网页...

enohtzvqijxo00atz3y8
2017/12/08
0
0
NCRE考试感想 四级嵌入式(下)

权威的官方文件 考试时间:2017年3月 经验写于:2017年5月 万事万物都在变化,四级嵌入式也是如此。所以,该经验仅作为参考,官方的文件才是权威。   做题经验 第一遍做题库时,拿眼睛看,看...

志成就
05/26
14
0
R语言数据挖掘 — 决策树直观绘图

R语言数据挖掘 — 决策树直观绘图 1 前言 今天发现一个特别漂亮的决策树绘图方法,特此记录下来,作图工具是R语言,方法特别简单,图形直观美丽大方让我眼界大开。 2 安装包准备 绘制这些漂亮...

clebeg
2015/11/05
4.8K
1
2012年社交电商购物网站TOP6

1、蘑菇街 蘑菇街官方网站,中国最大的女性购物社区,2000万女性会员一起发现时尚至IN的扮美单品,交流最新最热的时尚穿搭,分享在各大购物网站的网购经验。 网址:http://www.mogujie.com/ 2、美...

kitstlei
2013/01/19
371
8
IBM Bluemix 中文公众版初体验

很荣幸收到IBM颁发的“IBM Bluemix 试用邀请函”,成为 IBM Bluemix 中文公众版的首批特邀用户。 11月18日就收到了标题为“China Bluemix 账户创建成功 - China Bluemix Account Created”的...

微wx笑
2016/12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部