前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬虫10-页面解析数据提取思

Python爬虫10-页面解析数据提取思

作者头像
py3study
发布2020-01-17 11:43:28
5830
发布2020-01-17 11:43:28
举报
文章被收录于专栏:python3python3
代码语言:javascript
复制
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

一、页面解析和数据提取

  ①结构化数据: 先有的结构,在谈数据
      JSON文件
          JSON Path
          转换成Python类型进行操作(json类)
      XML文件
          转换成python类型(xmltodict)
          XPath
          CSS选择器
          正则
   ②非结构化数据:先有数据,再谈结构
        文本
         电话号码
        邮箱地址
          通常处理此类数据,使用正则表达式
         Html文件
          正则
          XPath
          CSS选择器

二、正则简单应用
代码语言:javascript
复制
正则表达式:一套规则,可以在字符串文本中进行搜查替换等
代码语言:javascript
复制
python中正则模块是re
代码语言:javascript
复制
使用大致步骤:
  1. compile函数将正则表达式的字符串编译为一个Pattern对象
  2. 通过Pattern对象的一些列方法对文本进行匹配,匹配结果是一个Match对象
  3. 用Match对象的方法,对结果进行操纵
代码语言:javascript
复制
正则常用方法:
    match: 从开始位置开始查找,一次匹配
    search:从任何位置查找,一次匹配, 案例v25
    findall: 全部匹配,返回列表, 案例v26
    finditer: 全部匹配,返回迭代器, 案例v26
    split: 分割字符串,返回列表
    sub:替换
匹配中文
    中文unicode范围主要在[u4e00-u9fa5]
    
贪婪与非贪婪模式
    贪婪模式: 在整个表达式匹配成功的前提下,尽可能多的匹配
    非贪婪模式: xxxxxxxxxxxxxxxxxxxxxx, 尽可能少的匹配
    python里面数量词默认是贪婪模式
    例如:
        查找文本abbbbbbccc
        re是 ab*(*表示可以有一个或多个,也可以没有)
        贪婪模式: 结果是abbbbbb
        非贪婪: 结果是a
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档