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

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. requireJS简单应用

    项目结构目录: Html页面 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> < ...

  2. itextsharp html转成pdf 特殊符号异常处理

    项目中使用html转成pdf ,遇到包含& 特殊字符就会出错. 比如:<p>&</p>使用该html输出成pdf就会报异常 解决方案:需使用html转义符< ...

  3. 创建自己的library类库包并使用webpack4.x打包发布到npm

    创建自己的library类库包并使用webpack4.x打包发布到npm 我们在开发过程中,可能经常要使用第三方类库,比如jquery.lodash等.我们通过npm,下载安装完之后,就可以使用了,简 ...

  4. C#处理JavaScript引擎

    概述 通常JavaScript在Web浏览器执行展现特定效果,C#也可以后台执行JavaScript里面方法:C#通常调用第三方DLL方式:MsieJavaScriptEngine或者JavaScri ...

  5. centos6.9关闭防火墙

    /etc/init.d/iptables stop     临时关闭防火墙, chkconfig iptables off    永久关闭防火墙 查看防火墙状态  chkconfig --list i ...

  6. Python 官方文档解读(2):threading 模块

    使用 Python 可以编写多线程程序,注意,这并不是说程序能在多个 CPU 核上跑.如果你想这么做,可以看看关于 Python 并行计算的,比如官方 Wiki. Python 线程的主要应用场景是一 ...

  7. notes for lxf(二)

    函数 abs()绝对值 max()返回最大值 raise 后接异常类 引发异常 函数返回多个值其实就是返回一个tuple 函数默认返回None 如果有必要检查参数类型用isinstance() typ ...

  8. 2013年省赛H题

    2013年省赛H题你不能每次都快速幂算A^x,优化就是预处理,把10^9预处理成10^5和10^4.想法真的是非常巧妙啊N=100000构造两个数组,f1[N],间隔为Af2[1e4]间隔为A^N,中 ...

  9. 页面跳转之session

    题意:设主页为index.jsp 通过session将index.jsp中的信息传送给结果页面result.jsp.(其实,session的生命周期是整个服务器开启过程,具体不做详细介绍).这个 其实 ...

  10. python基础知识总结(一)

    学完python很久了,一直想着写个学习总结,奈何懒癌晚期,现在才开始写.以下是我总结的一小部分python基础知识点的总结: 1.什么是解释型语言?什么是编译型编程语言? ''' 解释型语言:无需编 ...