我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python爬虫学习三:python正则

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python爬虫学习三:python正则

python爬虫学习三:python正则表达式


自己写的一个爬虫:https://github.com/qester/wordpres_Crawler


1、正则表达式基础


a、正则表达式的大致匹配过程:

1、依次拿出表达式和文本中的字符比较

2、如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。

3、如果表达式中有量词或边界,这个过程会稍微有些不同。


b、正则表达式语法学习(参考网页吧)


2、re模块


python通过模块提供正则表达式的支持。使用re的一般步骤是:

s1、先将正则表达式的字符串形式编译成Pattern实例;

s2、然后使用Pattern实例处理文本并获得匹配结果(一个Match实例);

s3、最后使用Match实例获取信息,进行其他操作。


a、Compile

 re.Compile(strPattern[,flag]):

 这个方法是Pattern类的工厂方法,用于将字符串形式的正则表达式编译为Pattern对象。

 flag参数是匹配模式,取值可以使用按位或运算符"|"表示同时生效,比如re.re.M.

 flag的可选值有:

re.I:忽略大小写

re.M:多行模式

re.S:点任意匹配模式

re.L:

re.U:

re.X:详细模式

b、Match

Match对象是一次匹配的结果,包含了很多关于此次匹配的信息,可以使用Match提供的可读

属性或方法来获取这些信息。


属性:

string:匹配时使用的文本。

re:匹配时使用的Pattern对象。

pos:文本中正则表达式开始搜索的索引。

endpoe:结束搜索的索引

lastindex:最后一个被捕获的分组在文本中的索引。如果没有被捕获的分组,将为None。

lastgroup:最后一个被捕获的分组的别名。如没有,则为None。


方法:

group([group1,....]):

获得一个或多个分组截获的字符串;指定多个参数时将以元组的形式返回。不写参数时返回group(0).

groups([default]):

以元组的形式返回全部分组截获的字符串。

groupdict([default]):

返回以有别名的组的别名为键、以该组截获的子串为值得字典,没有别名的组不包含在内。

start([group]):

返回指定的组截获的子串在string中的起始索引(子串第一个字符的索引)。

end([group]):

返回指定的组截获的子串在string中的结束索引(子串最后一个字符的索引+1)。

span([group]):

返回(stat(group),end(group))。

expand(template):

将匹配到的分组代入template中然后返回。


c、Pattern

Pattern对象是一个编译好的正则表达式,通过Pattern提供的一系列方法可以对文本进行匹配查找。

Pattern不能直接实例化,必须使用re.compile()进行构造,也就是re.compile()返回的对象。


Pattern提供了几个可读属性用于获取表达式的相关信息:

pattern:编译时用的表达式字符串

flags:编译时用的匹配模式,数字形式。

groups:表达式中分组的数量。

groupindex:以表达式中有别名的组的别名为键、以该组对应的编号为值,没有别的别名的组不包含在内。


3、一些Pattern的实例方法:


a、match方法:返回一个match对象

b、search方法:返回一个match对象

c、spilt方法:按照能够匹配的子串将string进行分割后返回列表。

d、findall方法:以列表返回全部能够匹配的子串。

e、finditer方法:返回一个顺序方位每一个匹配结果的迭代器。

f、sub方法:sub(repl,string):使用repl替换string的每一个匹配的子串后返回替换后的字符串。



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python爬虫学习三:python正则

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python爬虫学习三:python正则

python爬虫学习三:python正则表达式自己写的一个爬虫:https://github.com/qester/wordpres_Crawler1、正则表达式基础a、正则表达式的大致匹配过程:1、依次拿出表达式和文本中的字符比较2、如果
2023-01-31

Python 爬虫学习笔记之正则表达式

正则表达式的使用 想要学习 Python 爬虫 , 首先需要了解一下正则表达式的使用,下面我们就来看看如何使用。 . 的使用这个时候的点就相当于一个占位符,可以匹配任意一个字符,什么意思呢?看个例子就知道import re content
2022-06-04

【python爬虫学习 】python

pip 安装 pip install scrapy可能的问题: 问题/解决:error: Microsoft Visual C++ 14.0 is required.实例demo教程 中文教程文档 第一步:创建项目目录scrapy
2023-01-31

Python爬虫学习路线

(一)如何学习Python学习Python大致可以分为以下几个阶段:1.刚上手的时候肯定是先过一遍Python最基本的知识,比如说:变量、数据结构、语法等,基础过的很快,基本上1~2周时间就能过完了,我当时是在这儿看的基础:Python 简
2023-01-31

Python爬虫之正则表达式(1)

廖雪峰正则表达式学习笔记1:用\d可以匹配一个数字;用\w可以匹配一个字母或数字;'00\d' 可以匹配‘007’,但是无法匹配‘00A’;‘\d\d\d’可以匹配‘010’;‘\w\w\d’可以匹配‘py3’;2:.可以匹配任意字符;'p
2023-01-30

Python爬虫框架Scrapy 学习

开发环境PyCharm目标网站和上一次一样,可参考:http://dingbo.blog.51cto.com/8808323/1597695 但是这次不是在单个文件中运行,而是创建一个scrapy项目1.使用命令行工具创建scrapy项目的
2023-01-31

Python 爬虫学习笔记之多线程爬虫

XPath 的安装以及使用 1 . XPath 的介绍 刚学过正则表达式,用的正顺手,现在就把正则表达式替换掉,使用 XPath,有人表示这太坑爹了,早知道刚上来就学习 XPath 多省事 啊。其实我个人认为学习一下正则表达式是大有益处的,
2022-06-04

Python 爬虫学习笔记之单线程爬虫

介绍 本篇文章主要介绍如何爬取麦子学院的课程信息(本爬虫仍是单线程爬虫),在开始介绍之前,先来看看结果示意图怎么样,是不是已经跃跃欲试了?首先让我们打开麦子学院的网址,然后找到麦子学院的全部课程信息,像下面这样这个时候进行翻页,观看网址的变
2022-06-04

python re库-----学习(正则

#!/usr/bin/env python#-*- coding:UTF-8 -*-###################################################### Author: sunfx   xingrhc
2023-01-31

玩转python爬虫之正则表达式

面对大量杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,
2022-06-04

学习python爬虫能做什么

这篇文章主要介绍“学习python爬虫能做什么”,在日常操作中,相信很多人在学习python爬虫能做什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”学习python爬虫能做什么”的疑惑有所帮助!接下来,请跟
2023-06-27

Python爬虫学习教程:天猫商品数据爬虫

天猫商品数据爬虫使用教程下载chrome浏览器查看chrome浏览器的版本号,下载对应版本号的chromedriver驱动pip安装下列包pip install seleniumpip install pyquery登录微博,并通过微博绑定
2023-06-02

python学习--正则表达式

正则表达式是一种用来匹配字符串的强有力的工具它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。Python支持的正则表达式元字符和语法:语法说明实例完整匹配的字
2023-01-31

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

上次说到了requests库的获取,然而这只是开始,你获取了网页的源代码,但是这并不是我们的目的,我们的目的是解析链接里面的信息,比如各种属性  @href  @class span  抑或是p节点里面的文本内容,但是我们需要一种工具来帮我
2023-01-30

Python爬虫正则表达式怎么理解

本篇内容介绍了“Python爬虫正则表达式怎么理解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!元字符^ $ * + . | ? {} []
2023-06-17

零基础怎么学习Python爬虫

本篇内容主要讲解“零基础怎么学习Python爬虫”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“零基础怎么学习Python爬虫”吧!  零基础如何学爬虫技术?对于迷茫的初学者来说,爬虫技术起步学习
2023-06-01

【Python学习】爬虫报错处理bs4.

【BUG回顾】在学习Python爬虫时,运Pycharm中的文件出现了这样的报错:bs4.FeatureNotFound: Couldn’t find a tree builder with the features you request
2023-01-31

python 爬虫(三) spider类

Spider就是定义爬取的动作及分析网站的地方。 spider原理 以初始的URL**初始化Request**,并设置回调函数。 当该request**下载完毕并返回时,将生成**response ,并作为参数传给该回调函数。 初始化r
2023-01-31

Python re正则表达式学习

一、re.matchre.match 尝试从字符串的开始匹配一个模式,如:下面的例子匹配第一个单词。import re  text = "JGood is a handsome boy, he is cool, clever, and so
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录