前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >信息标记

信息标记

作者头像
Cloud-Cloudys
发布2020-07-07 15:41:46
1.3K0
发布2020-07-07 15:41:46
举报
文章被收录于专栏:ShanSan的云原生之路

信息标记的三种形式

  • XML(eXtensible Markup Language)
  • YAML(YAML Ain’t Markup Language)
  • JSON(JaveScript Object Notation) XML 使用标签标记信息的表达形式<people> <!--这是注释--> <firstname>Shan</firstname> <lastname>Ye</lastname> <address> <streetAddre>None</streetAddre> <city>Gui Lin</city> <zipcode>541004</zipcode> </address> <prof>boy</prof><prof>boring</prof> </people>

JSON

有类型键值对标记信息的表达形式

代码语言:javascript
复制
{
	"firstname": "Shan",
	"lastname" : "Ye",
	"address":
	    {
            "streetAddre":"None",
            "city": "Gui Lin",
            "zipcode": "541004"
	    }
	
}

YML

无类型键值对标记信息的表达形式

代码语言:javascript
复制
firstname: Shan
lastname: Ye
address:   #缩进表达所属关系
    streetAddre: None
    city: Gui Lin
    zipcode: 541004
prof:  #this is a comment
-boy     #并列关系
-boring

text: |     #整块数据
ACM国际大学生程序设计竞赛(英文全称:ACM International Collegiate Programming Contest(简称ACM-ICPC或ICPC))
是由国际计算机协会(ACM)主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。
经过近40年的发展,ACM国际大学生程序设计竞赛已经发展成为全球最具影响力的大学生程序设计竞赛。赛事目前由IBM公司赞助。

代码语言:javascript
复制
'''
提取HTMl中的所有信息
(1)搜索到所有的<a>标签
(2)解析<a>标签格式,提取href后的链接内容
'''
import requests
from bs4 import BeautifulSoup

url = "http://python123.io/ws/demo.html"
r = requests.get(url)
demo = r.text

soup = BeautifulSoup(demo,"html.parser")
for link in soup.find_all('a'):
	print(link.get("href"))

基于bs4库的信息提取的一般方法

<>.find_all()方法

代码语言:javascript
复制
<>.find_all(name,attrs,recursive,string,**kwargs)
  • name: 对应标签名称的检索字符串
  • attrs:对应标签属性值的检索字符串,可标注属性检索
  • recursive:是否对子孙全部检索,默认为True
  • string:<>…</>字符串区域的检索字符串

soup.find_all(…)等价于soup(…) .find_all(…)等价于(…)

扩展方法

方法

说明

<>.find()

搜索且只返回一个结果,同.find_all()参数

<>.find_parents()

在先辈节点中搜索,返回列表类型,同.find_all()参数

<>.find_parent()

在先辈节点中返回一个结果,同.find()参数

<>.find_next_siblings()

在后续平行节点中搜索,返回一个列表,同.find_all()参数

<>.find_next_sibling()

在后续节点中返回一个结果,用.find()参数

<>find_previous_siblings()

在前续平行结点中搜索,返回列表类型,同.find_all()参数

<>find.previous_sibling()

在前续节点中返回一个节点,同.find()参数

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年10月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 信息标记的三种形式
    • JSON
      • YML
      • 基于bs4库的信息提取的一般方法
        • <>.find_all()方法
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档