xp asp 网站建设,产品创新设计案例,做移动网站快速排名,wordpress中加表格1 三种信息类型的简介xml : extensible markup language与html非常相似现有html后有xmlxml是html发展来的 扩展 通用json 类型javascript object notation有类型的键值对 表达的方式一个key对应多个值key1:[asas,asas]嵌套使用name:{key1:[asas,asas]嵌套使用name:{newname:“北京理工大学”oldname:延安自然科学院}yaml (yaml aint markup language) :)name: 北京理工大学 无类型的通过缩写表示所属的相关关系(嵌套)name:oldname:xxxxxnewname:sasas通过减号表达并列关系name :-xxxxxx-asasasas竖线表示整块数据text:|asdadsssssssssssssdsdsdadasdasdasdasdasdasdasd#表示注释xml 世界上最早的通用信息标记语言 可拓展性好json 信息有类型适合程序处理简介yaml 信息无类型 文本型息比例最好可读性好xml internet上的交互与流动json 程序对借口的使用,云端 但是无注释yaml 各类系统的配置文件 有注释易读2 信息提取的一般方法方法一完整解析信息的标记形式需要表及解析器 列如 bs4的标签书遍历繁琐慢方法二无视标记信息直接提取关键信息利用文本查找准确性与内容相关融合方法结合形式解析与搜索方法例提取html上所有的URL链接1.找到所有的a标签2.找到a标签中的hrefform bs4 import BeautifulSoupsoupBeautifulSoup(demo,html.parser)for link in soup.find_all(a)print(link.get(href))3基于BeautifulSoup的内容查找方法find_all(name,attrs,recursive,string,**kwargs)返回一个列表类型存储查找的结果soup.find_all(a”)soup,find_all([a,b]) 同时查找ab标签for tag in soup.find_all(True):print(tag.name)可以打印该soup中的所有tag信息import refor tag in soup.find_all(re.compile(b)):print(tag.name)打印以b开头的attrs查找p标签中带有course属性值的的soup.find_all(p,course)//soup.find_all(p,attrs{ssdsd:dssds})也可以约定是某一个属性为XXsoup.find_all(idlink1)#id属性为link1import re //利用正则表达式recursive 表示是否对所有子孙都搜索 默认为TRUEsoup.find_all(a)string 对标签中的字符穿检索的属性例soup.find_all(stringBasic python)也可以用正则表达式简短形式() 等价于 .find_all()soup(...)等价于 soup.find_all()7个拓展方法find 只返回一个结果 字符串类型find_parents 只在先辈节点中搜索返回一个列表find_parent 只在黔北节点中搜索返回结果 字符串类型一个find_next_siblings只在后续平行节点中搜索返回列表类型find_next_sibling 同上只返回一个 字符串类型find_previous_siblingsfind_previsou_sibling 同上差不多