Python爬蟲之資料解析和提取

2021-09-11 19:27:15 字數 1625 閱讀 6226

獲取資料之後需要對資料進行解析和提取,需要用到的庫是beautifulsoup,需要在終端安裝 pip install beautifulsoup4

1)解析資料

bs物件=beautifulsoup("要解析的文字","解析器")

解析器我們一般用python的內建庫:html.parser

示例:

import requests

from bs4 import beautifulsoup

#引入bs庫

res = requests.get('')

html = res.text

soup = beautifulsoup(html,'html.parser') #把網頁解析為beautifulsoup物件

2)資料提取

需要用到beautifulsoup中的兩大知識點:find()和find_all();以及tag物件

find()與find_all()是beautifulsoup物件的兩個方法,它們可以匹配html的標籤和屬性,把beautifulsoup物件裡符合要求的資料都提取出來。

它倆的用法基本是一樣的,區別在於,find()只提取首個滿足要求的資料,而find_all()提取出的是所有滿足要求的資料。

括號中的引數:標籤和屬性可以任選其一,也可以兩個一起使用,這取決於我們要在網頁中提取的內容。

示例:

import requests

from bs4 import beautifulsoup

res=requests.get('')

html=res.text

soup=beautifulsoup(html,'html.parser')

items=soup.find_all(class_='books')

for item in items:

kind=item.find('h2')

title=item.find(class_='title')

brief=item.find(class_='info')

print(kind,'\n',title,'\n',brief)

print(type(kind),type(title),type(brief))

這時候得到的資料帶有tag標籤,屬於tag型別的資料。如果想要得到純文字資料,需要用到tag物件。

tag物件

我們用tag.text提出tag物件中的文字,用tag['href']提取出url。

這裡只需修改上面例子的最後一行**,改為

print(kind.text,'\n',title.text,'\n',title['href'],'\n',brief.text)
就可以得到文字資料。 

彙總起來就是

Python 爬蟲 資料解析之Xpath和Lxml

xpath xml path language 是一門在xml和html文件中查詢資訊的語言,可用來在xml和html文件中對元素和屬性進行遍歷。在 xpath 中,有七種型別的節點 元素 屬性 文字 命名空間 處理指令 注釋以及文件 根 節點。xml 文件是被作為節點樹來對待的。樹的根被稱為文件節...

python爬蟲資料解析之xpath

xpath是一門在xml文件中查詢資訊的語言。xpath可以用來在xml文件中對元素和屬性進行遍歷。在xpath中,有7中型別的節點,元素,屬性,文字,命名空間,處理指令,注釋及根節點。節點 首先看下面例子 1.0 encoding iso 8859 1 en harry potter j k.ro...

python爬蟲 資料解析

解析的區域性的文字內容都會在標籤之間或者標籤對應的屬性中進行儲存 使用正規表示式,利用字串匹配篩選出所需要的內容 例 ex re是python中使用正規表示式的庫 page text是爬取到頁面的原始碼 使用上面定義的正則匹配規則進行解析,得到的url img src list re.findall...