爬虫的一般分为四步,第二个步骤就是对爬取的数据进行解析。

python爬虫一般使用三种解析方式,一正则表达式,二xpath,三BeautifulSoup。

这篇博客主要记录下正则表达式的使用。

正则表达式                          

. 匹配除“\n”之外的任何单个字符。

* 匹配前面的子表达式零次或者多次。

+ 匹配前面的子表达式一次或者多次。

? 匹配前面的子表达式零次或者一次。

\将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。

^ 匹配输入字符串的开始位置。

$ 匹配输入字符结束的位置。

{n} 确定匹配n次。

{n,} 至少匹配n次。

{n,m} 最少匹配n次,最多匹配m次。

? 当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。

x|y 匹配x或者y

[xyz] 匹配集合中的任意一个字符。

[^xyz] 匹配未包含的任意字符。

[a-z] 匹配a-z.

[^a-z] 匹配不在a-z的任意字符。

\b 匹配一个单词边界.

\B 匹配一个非单词边界。

\d 匹配任意一个数字字符。

\D 匹配任意一个非数字字符。

\w 匹配数字字母下划线

\W 匹配非数字字母下划线

\s 匹配任意空白字符  \n  \r \0 \t ''

\S 匹配任意一个非空白字符

\A  匹配字符串开头 ^
\Z  匹配字符串结尾 $

贪婪模式: .*

非贪婪(惰性)模式: .*?

  正则表达式的分组()

  格式 (?P<name>regex) 其中name就是起的名字
  e.g. 'hello (?P<cat>kitty)'
  给kitty正则表达式的子组起了个名字cat
  调用格式 : (?P=name) name是要调用的子组名称

re.I : 忽略大小写

re.M :多行匹配

re.S :单行匹配

 正则表达式匹配实例          

import re

re模块是python的标准库模块,是用来处理正则表达式的

re.findall(regex,string)
功能:使用regex 去匹配string中的内容,如果匹配到则以一个列表的方式进行返回

使用正则爬取猫眼电影top100:

https://www.cnblogs.com/xiaozx/p/10680548.html

抓取糗事百科图片:

https://www.cnblogs.com/xiaozx/p/10717762.html

python爬虫数据解析之正则表达式的更多相关文章

  1. python爬虫数据解析之BeautifulSoup

    BeautifulSoup是一个可以从HTML或者XML文件中提取数据的python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式. BeautfulSoup是python爬虫三 ...

  2. python爬虫--数据解析

    数据解析 什么是数据解析及作用 概念:就是将一组数据中的局部数据进行提取 作用:来实现聚焦爬虫 数据解析的通用原理 标签定位 取文本或者属性 正则解析 正则回顾 单字符: . : 除换行以外所有字符 ...

  3. python爬虫数据解析的四种不同选择器Xpath,Beautiful Soup,pyquery,re

    这里主要是做一个关于数据爬取以后的数据解析功能的整合,方便查阅,以防混淆 主要讲到的技术有Xpath,BeautifulSoup,PyQuery,re(正则) 首先举出两个作示例的代码,方便后面举例 ...

  4. python爬虫之解析库正则表达式

    上次说到了requests库的获取,然而这只是开始,你获取了网页的源代码,但是这并不是我们的目的,我们的目的是解析链接里面的信息,比如各种属性  @href  @class span  抑或是p节点里 ...

  5. python爬虫数据解析之xpath

    xpath是一门在xml文档中查找信息的语言.xpath可以用来在xml文档中对元素和属性进行遍历. 在xpath中,有7中类型的节点,元素,属性,文本,命名空间,处理指令,注释及根节点. 节点 首先 ...

  6. 爬虫-数据解析-bs4

    1.数据解析 解析: 根据指定的规则对数据进行提取 作用: 实现聚焦爬虫 数据解析方式: - 正则表达式 - bs4 - xpath 数据解析的通用原理: 数据解析需要作用在页面源码中(一组html标 ...

  7. 070.Python聚焦爬虫数据解析

    一 聚焦爬虫数据解析 1.1 基本介绍 聚焦爬虫的编码流程 指定url 基于requests模块发起请求 获取响应对象中的数据 数据解析 进行持久化存储 如何实现数据解析 三种数据解析方式 正则表达式 ...

  8. python爬虫+数据可视化项目(关注、持续更新)

    python爬虫+数据可视化项目(一) 爬取目标:中国天气网(起始url:http://www.weather.com.cn/textFC/hb.shtml#) 爬取内容:全国实时温度最低的十个城市气 ...

  9. python 爬虫数据存入csv格式方法

    python 爬虫数据存入csv格式方法 命令存储方式:scrapy crawl ju -o ju.csv 第一种方法:with open("F:/book_top250.csv" ...

随机推荐

  1. buaaoo_second_improvement

    你不优化,我不优化,那大家就都是满分啦 (一)写在最前 电梯问题由于和实际关联比较紧密,所以实际上可以操作的空间比较多. 但第二单元的电梯,需要实现捎带:第三单元的电梯,需要实现楼层限制.人数限制.三 ...

  2. [转] 初探webpack4

    一.前言 2018/2/25,webpack4正式发布,距离现在已经过去三个多月了,也逐渐趋于稳定,而且现在的最新版本都到了4.12.0(版本迭代快得真是让人害怕). 很多人都说webpack复杂,难 ...

  3. 大数据ssh疑点跟踪

    相信运维的对ssh免密登陆应该是对这个再清楚不过的吧,由于我们大数据对于安全这方便管控的很严格,单独找一台物理机作为跳板机,其他的机器都必须要从这个跳板机免密登陆,由于机器比较的多,其中dn30这个域 ...

  4. python中网络编程

    网络编程软件架构介绍: C/S:客户端,服务端 B/S:浏览器,服务端 # 常见应用: 1.手机端看着感觉是c/s架构其实更多的是b/s架构,例如微信小程序,支付宝第三方接口 2.pc端:b/s比较火 ...

  5. PhpStorm代码提示(省电模式)的设置与使用

    PhpStorm中有个,Power Save Mode(省电模式),开启则代码不能自动提示,关闭则可以. 开启/关闭: 1.点击“File”菜单,最下面,Power Save Mode,勾选或取消: ...

  6. Adams 2013自定义插件方法zz

    1.Adams插件介绍 Adams的高级模块(如Controls控制模块.Vibration振动模块.Durability耐久性模块等)是以插件的形式集成在Adams软件中.通过Adams提供的插件管 ...

  7. Shell脚本学习 - 基本内容以及数据格式

    为了捞取日志,自己用python写了一些东西,大致套路就是读取写入文件的操作,放到linux上跑.实际使用时发现要操作的文件有时比较大,直接打开文件找需要的东西可能会有一些效率问题.所以学习一下she ...

  8. C# 去除\0

    在做项目的时候遇到了这种情况,如图 这个字符串包含了好多的\0,等你放大查看的时候又什么都不显示,十分惹人烦,哈哈 网上有的解决办法说 tmpStr.TrimEnd("\0");但 ...

  9. CF498C. Array and Operations [二分图]

    CF498C. Array and Operations 题意: 给定一个长为 n 的数组,以及 m 对下标 (a, b) 且满足 a + b 为奇数,每次操作可以将同一组的两个数同时除以一个公约数 ...

  10. DWM1000 帧过滤代码实现

    帧过滤功能可以在同一个环境内组建多个网络而不干扰(非频段不同),可以通过PANID(网络ID)区分不同网络,不同网络中的模块无法直接通信, 再之,利用短地址,网络中可以同时有多个模块发送信息,而接收端 ...