python医疗发票 信息抽取_PYTHON网络爬虫与信息提取[信息的组织与提取](单元五)...
1 三種信息類型的簡介
xml : extensible markup language
與html非常相似
現有html后有xml
xml是html發展來的 擴展 通用
json ?類型
javascript object notation
有類型的鍵值對 表達的方式
一個key對應多個值
"key1":["asas",''asas'']
嵌套使用
"name":{
"newname":“北京理工大學”
"oldname":"延安自然科學院"
}
yaml ? (yaml ain't markup language) :)
name: 北京理工大學 ?無類型的
通過縮寫表示所屬的相關關系(嵌套)
name:
oldname:xxxxx
newname:sasas
通過減號表達并列關系
name :
-xxxxxx
-asasasas
豎線表示整塊數據
text:|
asdadsssssssssssssdsd
sdadasdasdasdasdasd
asdasd
#表示注釋
xml 世界上最早的通用信息標記語言 ,可拓展性好
json 信息有類型,適合程序處理,簡介
yaml 信息無類型 文本型息比例最好,可讀性好
xml ?internet上的交互與流動
json 程序對借口的使用,云端 ? 但是無注釋
yaml 各類系統的配置文件 有注釋易讀
2 信息提取的一般方法
方法一:完整解析信息的標記形式,需要表及解析器 列如 bs4的標簽書遍歷
繁瑣慢;
方法二:無視標記信息,直接提取關鍵信息,利用文本查找
準確性與內容相關
融合方法:結合形式解析與搜索方法
例:
提取html上所有的URL鏈接
1.找到所有的a標簽
2.找到a標簽中的href?
form bs4 import BeautifulSoup
soup=BeautifulSoup(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 re
for 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})
也可以約定是某一個屬性為XX
soup.find_all(id="link1")
#id屬性為link1
import re //利用正則表達式
recursive 表示是否對所有子孫都搜索 默認為TRUE
soup.find_all("a")
string 對標簽中的字符穿檢索的屬性
例:
soup.find_all(string="Basic python")
也可以用正則表達式
簡短形式
() 等價于 .find_all()
soup(...)等價于 soup.find_all()
7個拓展方法
find ?只返回一個結果 字符串類型
find_parents 只在先輩節點中搜索,返回一個列表
find_parent 只在黔北節點中搜索,返回結果 字符串類型一個
find_next_siblings只在后續平行節點中搜索,返回列表類型
find_next_sibling 同上只返回一個 字符串類型
find_previous_siblings
find_previsou_sibling 同上
差不多
總結
以上是生活随笔為你收集整理的python医疗发票 信息抽取_PYTHON网络爬虫与信息提取[信息的组织与提取](单元五)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue取通过key取value_如何通过
- 下一篇: 如何用python创建文件_如何使用Py