【学习笔记】小白学习python爬虫之信息标记

一、信息组织方式

HTML(Hyper Text Markup Languange)

HTML是www的信息组织方式
以<>…</>的形式,将超文本(图片,视频,声音)陷入到文本中

二、 信息标记的三种方法

1.XML(eXtensible Markuo Language)

<name attribute>...</name>   #标签 中有内容

<name />  #标签中无内容

<!--This is a comment,very useful-->  #添加注释

3.JSON(JavaScript Object Notation)

用 有类型的键值对 key:value 标记信息
字符串用"" eg:“name”:“value”
数字就不用“”
当值中多个信息,用[…,…]表示 eg “name”:[value1,value2]
键值对可以嵌套,用{…,…},eg “key”:{“subkey1”:“value1”,“subkey2”:“value2”}

YAML(YAML Ain’t Markup Language)

无类型键值对 key:value
无双引号,所属关系用缩进表达,用减号-表达并列关系,用竖线|表达整块数据,#表达注释
eg:

text: |  #学校介绍
吉林大学创立于1946年,位于吉林省省会长春,是教育部直属、中央直接管理的综合性研究型全国重点大学,国家“双一流”、“211工程”、“985工程”重点建设,入选珠峰计划、2011计划、111计划、卓越法律人才教育培养计划、卓越工程师教育培养计划、卓越医生教育培养计划、卓越农林人才教育培养计划、国家建设高水平大学公派研究生项目、国家大学生创新性实验计划、新工科研究与实践项目、国家级大学生创新创业训练计划、国家创新人才培养示范基地、全国深化创新创业教育改革示范高校、中国政府奖学金来华留学生接收院校,首批建立研究生院的22所大学之一,是亚太国际教育协会、21世纪学术联盟、中俄交通大学联盟、粤港澳大湾区物流与供应链创新联盟重要成员。

一般的几种形式:
key:value

key:#Comment
-value1
-value2

key:
    subkey:subvalue

三、信息提取的一般方法

1.完整解析信息的标记形式,再提取关键信息

XML JSON YAML
需要标记解析器 eg:bs4库的标签树遍历

2.无视标记形式,直接搜索关键信息

需要文本查找函数

3.融合方法

融合方法:结合形式解析与搜索方法,提取关键信息
XML JSON YAML 搜索
需要标记解析器及文本查找函数

四、检索函数find
1.<>.find_all(name,attrs,recursive,string,**kwargs)

返回一个列表类型,存储查找的结果
name:对标签名称的检索字符串(单一:‘tag’ 多个:[‘tag1’,‘tag2’] 全部标签:True)a
attrs:对标签属性值的检索字符串,可标注属性检索
recursive:是否对子孙全部检索,默认是True,若只想搜索当前节点的子节点:recursive=False
sring:<>…</>中字符串区域的检索字符串

注:检索时,需要精确赋值检索信息,若想通过部分信息检索全部信息,则需正则表达式,例如:

import re
soup.find_all(string=re.compile("a"))  #检索soup中字符串区域中全部包含a的字符串

2.find_all()的简写形式:

(…) 等价于.find_all(…)

3.扩展方法

<>.find()
<>.find_parents()
<>.parent()
<>.find_next_siblings()
<>.find_pervious_siblings()
<>.find_next_sibling()
<>.find_previous_sibling()

区别仅在于检索区域不同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值