HTML Hyper Text Markup Language 超文本(声音、视频、图片)协议
HTML是WWW(World Wide Web)的信息组织方式
HTML通过预定义的<>...</>标签形式组织不同类型的信息
信息标记的三种形式:XML JSON YAML
XML:(eXtensible Markup Language) <name>...</name> <name/>(简写) (注释)
JSON:(JavaScript) 有类型的键值对 "key":"value" "key":["value1","value2"] "key":{"subkey":"subvalue"}
YAML:(Yet Another Markup Language) 无类型键值对 key:value 缩进表达所属方式 -表达并列关系 | 表达整块数据 # 表示注释
key:value key:#Comment key:
-value1 subkey:subvalue
-value2
XML 最早的通用信息标记语言,可拓展性好,但繁琐 Internet上的信息交互与传递
JSON 信息有类型,适合程序处理(js),较XML简洁 移动应用云端和节点的信息通信,无注释
YAML 信息无类型,文本信息比例最高,可读性好 各类系统的配置文件,有注释易读
基于bs4库的HTML的内容查找方法
<>.find_all(name,attrs,recursive,string,**kwargs) 返回一个列表类型,存储查找的结果
name:对标签名称的检索字符串 例如:soup.find_all('a') soup.find_all(['a','b'])
attrs:对标签属性值的检索字符串,可标注属性检索 例如 soup.find.all('p','course') soup.find_all(id='link1')
recursive:是否对子孙全部检索,默认True
string:<>...</>中字符串区域的检索字符串
<tag>(..)等价于<tag>.find_all(..)
soup(..)等价于 soup.find_all(..)
扩展方法
<>.find() 搜索且只返回一个结果
<>.find_parents() 在先辈节点中搜索,返回列表类型
<>.find_parent() 在先辈节点中返回一个结果
<>.find_next_siblings()
<>.find_next_sibling()
<>.find_previous_siblings()
<>.find_previous_sibling()