python爬蟲網頁解析中的疑難雜症

2021-08-09 08:03:49 字數 1339 閱讀 1086

該部分主要是通過正規表示式獲取兩個標籤之間的內容,通常這種標籤都是成對出現的。

開始標籤如:

、、、、、...
字尾標籤如:

、、、、、

...

核心**:

res_tr = r'(.*?)'

m_tr = re.findall(res_tr,language,re.s|re.m)

例子:[python] view plain copy

# coding=utf-8

import re

language = '''''性別:

男'''

#正規表示式獲取之間內容

res_tr = r'(.*?)'

m_tr = re.findall(res_tr,language,re.s|re.m)

for line in m_tr:

print line

#獲取**第一列th 屬性

res_th = r'(.*?)'

m_th = re.findall(res_th,line,re.s|re.m)

for mm in m_th:

print unicode(mm,'utf-8'), #unicode防止亂

#獲取**第二列td 屬性值

res_td = r'(.*?)'

m_td = re.findall(res_td,line,re.s|re.m)

for nn in m_td:

print unicode(nn,'utf-8')

# 輸出如下所示:

[python] view plain copy

>>>

性別:男

性別: 男

>>>

python通過re模組提供對正規表示式的支援。使用re的一般步驟是先將正規表示式的字串形式編譯為pattern例項,然後使用pattern例項處理文字並獲得匹配結果(乙個match例項),最後使用match例項獲得資訊,進行其他的操作。

findall(string[, pos[, endpos]]) | re.findall(pattern, string[, flags]): 搜尋string,以列表形式返回全部能匹配的子串。其中re的常見引數包括:

re.i(re.ignorecase): 忽略大小寫(括號內是完整寫法)

re.m(re.multiline): 多行模式,改變』^』和』$』的行為

re.s(re.dotall): 點任意匹配模式,改變』.』的行為

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

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

python爬蟲之解析網頁的工具pyquery

主要是對這篇部落格所做的筆記 有疑惑可以去看這篇文章 from pyquery import pyquery as py 初始化的三種方式 doc py html doc py url encoding utf 8 doc py filename index.html 利用css選擇器 conten...

python爬蟲網頁解析之lxml模組

windows系統下的安裝 方法一 pip3 install lxml pip3 install lxml 4.2.1 cp36 cp36m win amd64.whl 檔案所在的路徑 linux下安裝 方法一 pip3 install lxml 方法二 yum install y epel rel...