資訊標誌的三種形式:xml,json,yaml
xml例項:
tian
cai北京
516002
json例項:
}yaml例項:
firstname:tian
lastname:cai
address:
city:北京
zipcode:516002
xml:最早的通用資訊標記語言,可擴充套件性好,但繁瑣;internet上的資訊互動於傳遞
json:資訊有型別,適合程式處理,較xml簡介;無注釋
yaml:資訊無型別,文字資訊比例最高,可讀性好;各類系統的配置檔案,有注釋易讀
方法一:完整解析資訊的標記形式,再提取關鍵資訊
需要標記解析器例如:bs4庫的標籤樹遍歷
優點:資訊解析準確
缺點:提取過程繁瑣,速度慢
方法二:無視標記形式,直接搜尋關鍵資訊
對資訊的文字查詢函式即可
優點:提取過程簡潔,速度較快
缺點:提取結果準確性與資訊內容相關
融合方法:結合形勢解析與搜尋方法,提取關鍵資訊需要標記解析器及文字查詢函式
<>.find_all(name, attrs, recursive, string, **kwargs)
返回乙個列表型別,儲存查詢的結果
name:對標籤名稱的檢索字串 soup.find_all([『a』,『b』])
attrs:對標籤屬性值的檢索字串,可標註屬性檢索 soup.find_all(『p』, 『course』) soup.find_all(id=『link1』)
recursive:是否對子孫全部檢索,預設true soup.find_all(『a』, recursive=false)
string:<>…中字串區域的檢索字串 soup.find_all(string = re.compile(『python』))
(…) 等價於 .find_all(…) soup(…) 等價於 soup.find_all(…)
擴充套件方法
說明<>.find()
搜尋且只返回乙個結果,字串型別,同 .find_all()引數
<>.find_parents()
在先輩節點中搜尋,返回列表型別,同.find_all()引數
<>.find_parent()
在先輩節點中返回乙個結果,字串型別,同.find_all()引數
<>.find_next_siblings()
在後續平行節點中搜尋,返回列表型別,同.find_all()引數
<>.find_next_sibling()
在後續平行節點中返回乙個結果,字串型別,同.find_all()引數
<>.find_previous_siblings()<>.find_previous_siblings()
在前序平行節點中搜尋,返回列表型別,同.find_all()引數
<>.find_previous_sibling()
在前序平行節點中返回乙個結果,字串型別,同.find_all()引數
python網路爬蟲筆記(五)
一 python的類物件的繼承 1 所有的父類都是object類,由於類可以起到模組的作用,因此,可以在建立例項的時候,巴西一些認為必須要繫結的屬性填寫上去,通過定義乙個特殊的方法 init 繫結屬性值 注意 init 方法的第乙個引數永遠是self,表示建立的是例項本身,在 init 方法內部,就...
Python網路爬蟲
找到url,也就是相當於入口,找到你要爬取的鏈結,獲取整個頁面資料 使用正規表示式,匹配到你想要爬取的內容,這裡使用的主要是正規表示式和一些常用的開源庫 最後一步就是寫入文字以及儲存問題了,如文字檔案 資料庫 coding utf 8 是用來指定檔案編碼為utf 8 from urllib impo...
python網路爬蟲
這篇部落格簡單的實現了乙個網路爬蟲指令碼,所謂網路爬蟲就是從 某乙個頁面 通常是首頁 開始,讀取網頁的內容,找到在網頁中的其它鏈結位址,然後通過這些鏈結位址尋找下乙個網頁,這樣一直迴圈下去,直到把這個 所有的網頁都抓取完為止。下面就是乙個簡單地網路爬蟲程式 note 這個命令的意思是,從爬去尋找關鍵...