python爬虫数据解析之正则表达式
爬虫的一般分为四步,第二个步骤就是对爬取的数据进行解析。
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爬虫数据解析之正则表达式的更多相关文章
- python爬虫数据解析之BeautifulSoup
BeautifulSoup是一个可以从HTML或者XML文件中提取数据的python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式. BeautfulSoup是python爬虫三 ...
- python爬虫--数据解析
数据解析 什么是数据解析及作用 概念:就是将一组数据中的局部数据进行提取 作用:来实现聚焦爬虫 数据解析的通用原理 标签定位 取文本或者属性 正则解析 正则回顾 单字符: . : 除换行以外所有字符 ...
- python爬虫数据解析的四种不同选择器Xpath,Beautiful Soup,pyquery,re
这里主要是做一个关于数据爬取以后的数据解析功能的整合,方便查阅,以防混淆 主要讲到的技术有Xpath,BeautifulSoup,PyQuery,re(正则) 首先举出两个作示例的代码,方便后面举例 ...
- python爬虫之解析库正则表达式
上次说到了requests库的获取,然而这只是开始,你获取了网页的源代码,但是这并不是我们的目的,我们的目的是解析链接里面的信息,比如各种属性 @href @class span 抑或是p节点里 ...
- python爬虫数据解析之xpath
xpath是一门在xml文档中查找信息的语言.xpath可以用来在xml文档中对元素和属性进行遍历. 在xpath中,有7中类型的节点,元素,属性,文本,命名空间,处理指令,注释及根节点. 节点 首先 ...
- 爬虫-数据解析-bs4
1.数据解析 解析: 根据指定的规则对数据进行提取 作用: 实现聚焦爬虫 数据解析方式: - 正则表达式 - bs4 - xpath 数据解析的通用原理: 数据解析需要作用在页面源码中(一组html标 ...
- 070.Python聚焦爬虫数据解析
一 聚焦爬虫数据解析 1.1 基本介绍 聚焦爬虫的编码流程 指定url 基于requests模块发起请求 获取响应对象中的数据 数据解析 进行持久化存储 如何实现数据解析 三种数据解析方式 正则表达式 ...
- python爬虫+数据可视化项目(关注、持续更新)
python爬虫+数据可视化项目(一) 爬取目标:中国天气网(起始url:http://www.weather.com.cn/textFC/hb.shtml#) 爬取内容:全国实时温度最低的十个城市气 ...
- python 爬虫数据存入csv格式方法
python 爬虫数据存入csv格式方法 命令存储方式:scrapy crawl ju -o ju.csv 第一种方法:with open("F:/book_top250.csv" ...
随机推荐
- Vuejs自定义select2指令
在做select2插件的时候遇到一些坑,最终解决如下: Vue.directive('select2', { inserted: function (el, binding, vnode) { var ...
- HashMap 学习 (JDK8)
1.hashmap中hash函数的实现中,异或运算操作的结果是什么,为什么要做这样的异或运算 static final int hash(Object key) { int h; return (ke ...
- 基于flask+gunicorn+nginx来部署web App
基于flask+gunicorn&&nginx来部署web App WSGI协议 Web框架致力于如何生成HTML代码,而Web服务器用于处理和响应HTTP请求.Web框架和Web服务 ...
- 【webpack系列】从零搭建 webpack4+react 脚手架(五)
本章节,我们一起来探讨以下问题:如何对编译后的文件进行gzip压缩,如何让开发环境的控制台输出更加高逼格,如何更好的对编译后的文件进行bundle分析等. 1 gzip压缩 如果你想节省带宽提高网站速 ...
- Jmeter中基本操作
Jmeter中基本操作包括 1:线程组 2:HTTP信息头管理器 3:HTTP请求默认值 4:HTTP请求 5:查看结果树 操作步骤如下: 1.创建一个线程组 通俗的讲一个线程组,,可以看做一个虚拟用 ...
- UOJ#75. 【UR #6】智商锁 随机化算法 矩阵树定理
原文链接www.cnblogs.com/zhouzhendong/p/UOJ75.html 前言 根本没想到. 题解 首先我们可以考虑一种做法: 找一些图,使得他们各自的生成树个数乘起来等于 k. 那 ...
- net view ERROR 6118
如上图,使用net view命令出现错误6118(server2012),谷歌百度油管解决了. 尝试1: 把Computer Browser服务打开.https://blog.csdn.net/qq_ ...
- 在Ubuntu下开启我的第一个Android工程
目录 环境 流程 Phone PC端 我踩到坑 1.device offline Error while Installing APK 2.NO MODULE 3.应用无法安装 环境 小米Note4: ...
- [sublime]用sublime搭建属于自己的Python的IDE
先在sublime中利用package control下载anaconda插件, 然后更改python的路径,不知道自己anaconda的python在哪,可以在prompt用命令where pyth ...
- Unity Rain Ai 插件基本使用(一)
1.下载安装Rain 插件 原先可以在unity的Asset Stroe 下载到,但是现在Rain 的开发公司因为人工智能的发展,公司得到投资,所以下架了rain插件. 所以我给出网盘链接 链接:ht ...