爬蟲解析方式

2021-10-09 18:20:25 字數 2531 閱讀 3605

對於爬蟲解析來說,常見的解析方式有幾種

正規表示式:一種萬能的解析方式,是一種模式,可以匹配文字片段的模式來處理字串,但是編寫正規表示式不方便,常用的可有re

ret = re.findall('a', 'eva egon yuan')  # 返回所有滿足匹配條件的結果,放在列表裡

print(ret) #結果 : ['a', 'a']

ret = re.search('a', 'eva egon yuan').group()

print(ret) #結果 : 'a'

# 函式會在字串內查詢模式匹配,只到找到第乙個匹配然後返回乙個包含匹配資訊的物件,該物件可以

# 通過呼叫group()方法得到匹配的字串,如果字串沒有匹配,則返回none。

ret = re.match('a', 'abc').group() # 同search,不過盡在字串開始處進行匹配

print(ret)

#結果 : 'a'

ret = re.split('[ab]', 'abcd') # 先按'a'分割得到''和'bcd',在對''和'bcd'分別按'b'分割

print(ret) # ['', '', 'cd']

ret = re.sub('\d', 'h', 'eva3egon4yuan4', 1)#將數字替換成'h',引數1表示只替換1個

print(ret) #evahegon4yuan4

ret = re.subn('\d', 'h', 'eva3egon4yuan4')#將數字替換成'h',返回元組(替換的結果,替換了多少次)

print(ret)

obj = re.compile('\d') #將正規表示式編譯成為乙個 正規表示式物件,規則要匹配的是3個數字

ret = obj.search('abc123eeee') #正規表示式物件呼叫search,引數為待匹配的字串

print(ret.group()) #結果 : 123

import re

ret = re.finditer('\d', 'ds3sy4784a') #finditer返回乙個存放匹配結果的迭代器

print(ret) # print(next(ret).group()) #檢視第乙個結果

print(next(ret).group()) #檢視第二個結果

print([i.group() for i in ret]) #檢視剩餘的左右結果

xpath解析:xpath是解析html的常見方式,是一種查詢語言,常見的庫有lxml等

# 先導包

from lxml import etree

# 將html文件或者xml文件轉換成乙個etree物件,然後呼叫物件中的方法查詢指定的節點

# 1. 本地檔案

tree = etree.parse(檔名)

tree.xpath(

"xpath表示式"

)# 2. 網路資料

tree = etree.html(網頁內容字串)

tree.xpath(

"xpath表示式"

)

beautifulsoup:是一種通過lxml解析器來提供python庫可以進行導航,查詢,修改文件的方式,使用方式簡單。`

from bs4 import beautifulsoup

# 轉化本地檔案

soup = beautifulsoup(

open

('本地檔案'),

'lxml'

)# 轉化網路檔案

soup = beautifulsoup(

'字串型別或者位元組型別'

,'lxml'

)# 從文件中獲取所有文字內容:

print

(soup.get_text(

))

配置爬蟲**解析:

#! -*- encoding:utf-8 -*-

import requests

import random

# 要訪問的目標頁面

targeturl =

""# 要訪問的目標https頁面

# targeturl = ""

# **伺服器(產品官網 www.16yun.cn)

proxyhost =

"t.16yun.cn"

proxyport =

"31111"

# **驗證資訊

%# 設定 http和https訪問都是用http**

python爬蟲 正則解析方式

提取資料步驟 建立正則物件 匹配查詢 提取資料儲存 知識點 1.單字元 除換行以外所有字元 aoe a w 匹配集合中任意乙個字元 d 數字 0 9 d 非數字 w 數字 字母 下劃線 中文 w 非 w s 所有的空白字元包,括空格 製表符 換頁符等等。等價於 f n r t v s 非空白 2.數...

爬蟲之三種解析方式

1.實現標籤的定位 2.將標籤中的儲存的文字內容或者相關的屬性值進行提取 單字元 除換行以外所有字元 aoe a w 匹配集合中任意乙個字元 d 數字 0 9 d 非數字 w 數字 字母 下劃線 中文 w 非 w s 所有的空白字元包,括空格 製表符 換頁符等等。等價於 f n r t v s 非空...

Python爬蟲解析網頁的4種方式

正規表示式 regular expression 描述了一種字串匹配的模式 pattern 可以用來檢查乙個串是否含有某種子串 將匹配的子串替換或者從某個串中取出符合某個條件的子串等 正則的好處是編寫麻煩,理解不容易,但是匹配效率很高,不過時至今日有太多現成的html內容解析庫之後,我個人不太建議再...