python爬蟲 資料解析

2021-10-11 02:33:56 字數 1743 閱讀 3137

解析的區域性的文字內容都會在標籤之間或者標籤對應的屬性中進行儲存

使用正規表示式,利用字串匹配篩選出所需要的內容

例:

ex =

'.*?

# re是python中使用正規表示式的庫

# page_text是爬取到頁面的原始碼

# 使用上面定義的正則匹配規則進行解析,得到的url

img_src_list = re.findall(ex,page_text,re.s)

pip install bs4

pip install lxml

例項化乙個beautifulsoup物件

將html(爬取到的頁面資料)載入到該物件中

載入本地的html到物件中

# file_url = '本地html檔案的路徑'

fp =

open

(file_url,

'r',encoding=

'utf-8'

)soup = beautifulsoup(fp,

'lxml'

)

載入網路上獲取的頁面原始碼載入到物件中

# response是請求到的頁面資料

page_text = response.text

soup = beatifulsoup(page_text,

'lxml'

)

通過呼叫beautifulsoup物件中的屬性或者方法進行標籤定位和資料提取

select('cssselector'):返回符合要求的標籤組成的陣列

cssselector是選擇器,與css中選擇器一樣,例select('.tang>ul>li>a')text/string/get_text():

這三個是標籤的方法,所以使用方法是soup.a.textsoup.a.get_text()soup.a.string

>

哈哈 >

嘿嘿span

>

div>

最常用的解析方式

pip install lxml

例項化乙個etree物件

from lxml import etree
將頁面原始碼載入到該物件中

本地

etree.parse(file_url)
網路

# page_text是請求到的頁面資料

# page_text = requests.get(url='',headers=headers).text

etree.html(page_text)

資料解析

/text()只能取直系文字

//text()可以取標籤中的所有文字

python爬蟲 資料解析(正則)

正則解析案例 爬取糗事百科的 糗事百科url 檢視網頁源 發現儲存的位址 import requests import re import os if name main headers 判斷是否存在qiushi資料夾,如果不存在就建立乙個 ifnot os.path.exists qiushi o...

Python 爬蟲 資料解析回顧

定位標籤 提取標籤中儲存的資料 例項化乙個etree的物件且將解析的頁面原始碼資料載入到該物件中 通過xpath方法 返回值 列表 結合者xpath表示式進行資料解析 tagname tagname attr value tagname index text text attrname 例項化乙個b...

python 爬蟲 4 資料解析 xpath

html中的結構可能是棵樹,不一定是二叉樹,可能是多叉的。這時用xpath定位,解析會比較合適。語法 1.解析本地儲存 tree etree.parse filename 2.解析網上爬取 tree etree.html page text 3.標籤定位 tree.xpath html head 定...