爬蟲資料解析

2022-07-12 17:54:19 字數 2813 閱讀 7648

1、今日學習提綱

聚焦爬蟲、正則、bs4、xpath

2、聚焦爬蟲:爬取頁面中指定的頁面內容

--編碼流程:

--指定url

-- 發起請求

--獲取響應資料

--資料解析

--持久化儲存

3、資料解析分類

--正則

--bs4

--xpath(*****   通用性最強)

4、資料解析原理概述

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

1、進行指定標籤的定位

2、標籤或者標籤對應的屬性中儲存的資料值進行提取

5、實操練習

1、使用正則進行資料解析

import

requests

import

json

if__name__ == "

__main__":

url = '

'#content 二進位制的

#text 字串 content 二級制 json 物件

2、爬取糗事百科的糗圖板塊下所有的糗事    

可能是因為爬蟲的user-agent的位址太長了有省略號 。。。。

import

requests,re

import

osimport

json

#爬取糗事百科中糗圖模組下所有的糗圖

if__name__ == "

__main__":

#建立資料夾,用於儲存所有的

ifnot os.path.exists('

./qiutulibs'):

os.mkdir(

"./qiutulibs")

url ="

"headers =

#使用通用爬蟲對url對應的一整張頁面進行爬取,得到原始碼資料

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

#使用聚焦爬蟲將頁面中所有的糗圖進行解析/提取

#提取div的img標籤

ex = '

.*?#re.s 單行匹配 re.m 多行匹配

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

for src in

img_src_list:

#拼接出完整的位址

#發get請求

img_data = requests.get(url = src,headers=headers).content

#生成名稱

img_name = src.split("

/")[-1]

imgpath = '

./qiutulibs/

'+img_name

with open(imgpath,'wb

') as fp:

fp.write(img_data)

print(img_name,"

")

3、通用模板

import

requests,re

import

osimport

json

#爬取糗事百科中糗圖模組下所有的糗圖

if__name__ == "

__main__":

#建立資料夾,用於儲存所有的

ifnot os.path.exists('

./qiutulibs2'):

os.mkdir(

"./qiutulibs2")

#設定乙個通用的url模板

url ="

page/%d/"#

pagenum = 2

headers =

for pagenum in range(1,3):

new_url = format(url%pagenum)

#使用通用爬蟲對url對應的一整張頁面進行爬取,得到原始碼資料

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

#使用聚焦爬蟲將頁面中所有的糗圖進行解析/提取

#提取div的img標籤

ex = '

.*?#re.s 單行匹配 re.m 多行匹配

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

for src in

img_src_list:

#拼接出完整的位址

#發get請求

img_data = requests.get(url = src,headers=headers).content

#生成名稱

img_name = src.split("

/")[-1]

imgpath = '

./qiutulibs2/

'+img_name

with open(imgpath,'wb

') as fp:

fp.write(img_data)

print(img_name,"

")

python爬蟲 資料解析

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

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...