Python爬蟲使用bs4方法實現資料解析

2022-10-04 13:42:43 字數 2379 閱讀 8202

聚焦爬蟲:

爬取頁面中指定的頁面內容。

編碼流程:

資料解析分類:

資料解析原理概述:

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

1.進行指定標籤的定位

2.標籤或者標籤對應的屬性中儲存的資料值進行提取(解析)

bs4進行資料解析資料解析的原理:

1.標籤定位

2.提取標籤、標籤屬性中儲存的資料值

bs4資料解析的原理:

1.例項化乙個beautifulsoup物件,並且將頁面原始碼資料載入到該物件中

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

環境安裝:

pip install bs4 -i

pip install lxml -i

例項化beautifulsoup物件步驟:

from bs4 import beautifulsoup

物件的例項化:

1.將本地的html文件中的資料載入到該物件中

fp = open('./test.html','r',encoding='utf-8')

soup = beautifulsoup(fp,'lxml')

2.將網際網路上獲取的頁www.cppcns.com面原始碼載入到該物件中(常用方法,推薦)

page_text = response.text

soup = beatifulsoup(page_text,'lxml')

提供的用於資料解析的方法和屬性:

soup.tagname:返回的是文件中第一次出現的tagname對應的標籤

soup.find():

find('tagname'):等同於soup.div

1.屬性定位:

soup.find('div',class_/id/attr='song')

soup.find_all('tagname'):返回符合要求的所有標籤(列表)

select:

select('某種選擇器(id,class,標籤...選擇器)'),返回的是乙個列表。

2.層級選擇器:

soup.select('.tang > ul > li > a'):>表示的是乙個層級

soup.select('.tang > ul a'):空格表示的多個層級

3.獲取標籤之間的文字資料:

soup.a.text/string/get_text()

text/get_text():可以獲取某乙個標籤中所有的文字內容

string程式設計客棧:只可以獲取該標籤下面直系的文字內容

4.獲取標籤中屬性值:

soup.a['href']

案例:爬取三國演義**所有的章節標題和章節內容**如下:

import requests

from bs4 import beautifulsoup

if __n程式設計客棧ame__ == "__main__":

#對首頁的頁面資料進行爬取

headers =

url = ''

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

#在首頁中解析出章節的標題和詳情頁的url

#例項化beautifulsoup物件,需要將頁面原始碼資料載入到該物件中

soup = beautifulsoup(page_text,'lxml')

#解析章節標題和詳情頁的url

li_list = soup.select('.book-mulu > ul > li')

fp = open('./sanguo.txt','w',encoding='utf-8')

for li in li_list:

title = li.a.string

detail_url = ''+li.a['href']

#對詳情頁發起請求,解析出章節內容

detail_page_text = requestswww.cppcns.com.get(url=detail_url,headers=headers).text

#解析出詳情頁中相關的章節內容

detail_soup = beautifulsoup(detail_page_text,'lxml')

div_tag = detail_soup.find('div',class_='chapter_content')

#解析到了章節的內容

content = div_tag.text

fp.write(title+':'+content+'\n')

print(title,'爬取成功!!!')

執行結果:

本文標題: python爬蟲使用bs4方法實現資料解析

本文位址:

python爬蟲資料提取之bs4的使用方法

pip install bs4 pip install lxml 解析器 官方推薦2.引用方法 from bs4 import beautifulsoup 引入我們的主題3.解析原理 4.使用方法 將一段文件傳入beautifulsoup 的構造方法,就能得到乙個文件的物件,可以傳入一段字串或乙個檔...

爬蟲架構 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...