bs4和xpath的用法

2022-07-25 12:54:23 字數 1187 閱讀 7434

1.bs4的運用

流程:1.匯入相應的模組:from bs4 import beautifulsoup

2.例項化乙個 beautifulsoup 物件,並將我們要解析的資料載入到該物件中:soup = beautifulsoup('要解析的資料','lxml(解析器)')

3.定位標籤:(1).通過標籤名定位:soup.標籤名 第乙個標籤

(2).通過標籤名和屬性定位soup.find('標籤名',attr = ) 返回的是查詢到的第乙個標籤

soup.findall('標籤名',attr = ) 返回的乙個由所有結果構成的列表

(3). 通過選擇器定位:select('selector')其中selector像css那樣的層級關係eg:('.card > h1 > a ')返回的也是乙個列表

4.資料的提取:要注意的是findall與select返回的都是列表,所有我們必須確定到要提取的某個標籤

(1)string:取出標籤直系的文字內容

. (2)text:取出標籤中所有的文字內容

(3)標籤名['屬性名']:獲取屬性的值

5.爬取乙個**例項:

2.xpath的運用:

流程:(1). 匯入相應的模組:from lxml import etree

(2).例項化etree物件,並將我們要解析的資料載入到該物件中:解析本地etree.parse('要解析的資料'),解析爬取的資料etree.html('要解析的資料')

(3).該物件結合xpath表示式進行提取資料,獲取的資料都儲存在列表裡面了

xpath表示式: 1.表示乙個層級,但是/在最左邊的時候表示從根標籤開始定位

2.//跳多個層級,最左邊的時候表示從任意地方開始定位

3.屬性定位://標籤名[@屬性名='屬性值']

4.索引定位://標籤名[index],index索引是從1開始

5.模糊定位模糊匹配:

//div[contains(@class, "ng")] 定位到class屬性值中包含ng的div標籤

//div[starts-with(@class, "ta")] 定位到class屬性值中是以ta開頭的div標籤

資料的提取:

/text() 獲取值系內容

//text() 獲取所有的內容

/@屬性名 獲取屬性值

bs4的基本用法

本檔案用來記錄bs4的用法 from bs4 import beautifulsoup 使用方法 將乙個html文件,轉化為指定物件,然後通過物件的方法或屬性去查詢指定的內容 轉化本地檔案 soup beautifulsoup open 本地檔案 lxml 轉化網路檔案 soup beautiful...

爬蟲架構 bs4

方便解析html xml等格式的原始碼,快速查詢 修改等操作,節省數小時乃至更多的工作時間 官網文件 from bs4 import beautifulsoup print path beautifulsoup path 非真實網頁 html doc 夏日炎炎,要你幹嘛 print soup.hea...

爬蟲 bs4模組

安裝 pip3 install beautifulsoup4 解析html和xml,修改html和xmlimport requests from bs4 import beautifulsoup 文件容錯能力,不是乙個標準的html也能解析 soup beautifulsoup html doc,l...