Python爬蟲10-頁面解析數據提取思路方法與簡單正則應用

GitHub代碼練習地址:正則1:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac15_RE1.py
           正則2:match、search、findall函數的使用案例:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac16_RE2.py


1、頁面解析和數據提取

  ①結構化數據: 先有的結構,在談數據
  JSON文件
JSON Path
轉換成Python類型進行操做(json類)
  XML文件
轉換成python類型(xmltodict)
XPath
CSS選擇器
正則
   ②非結構化數據:先有數據,再談結構
    文本
   電話號碼
    郵箱地址
一般處理此類數據,使用正則表達式
   Html文件
  正則
  XPath
  CSS選擇器

2、正則簡單應用
正則表達式:一套規則,能夠在字符串文本中進行搜查替換等
python中正則模塊是re
使用大體步驟:
  1. compile函數將正則表達式的字符串編譯爲一個Pattern對象
  2. 經過Pattern對象的一些列方法對文本進行匹配,匹配結果是一個Match對象
  3. 用Match對象的方法,對結果進行操縱
正則經常使用方法:
match: 從開始位置開始查找,一次匹配
search:從任何位置查找,一次匹配, 案例v25
findall: 所有匹配,返回列表, 案例v26
finditer: 所有匹配,返回迭代器, 案例v26
split: 分割字符串,返回列表
sub:替換
匹配中文
中文unicode範圍主要在[u4e00-u9fa5]

貪婪與非貪婪模式
貪婪模式: 在整個表達式匹配成功的前提下,儘量多的匹配
非貪婪模式: xxxxxxxxxxxxxxxxxxxxxx, 儘量少的匹配
python裏面數量詞默認是貪婪模式
例如:
查找文本abbbbbbccc
re是 ab*(*表示能夠有一個或多個,也能夠沒有)
貪婪模式: 結果是abbbbbb
非貪婪: 結果是a
相關文章
相關標籤/搜索