Python爬虫自学之正则表达式(re模块)

今天看到了一本叫Python爬虫开发:从入门到实战的书籍,在兴趣的兴趣的引导之下,我开始了阅读,如所有的编程书籍一样,在开篇的时候把文章的主题内容进行讲解,在第一章讲诉如何下载Python,本书使用的Python版本,不同的操作系统该如何下载。

紧接着下一章就是对python基础语法的快速点题。之后就到了我比较感兴趣涉及到爬虫知识的学习了,

首先我们需要了解什么是正则表达式,正则表达式是一种通用的语言,简单的说正则表达式(Regular Expression,简称Regex或RegExp)是一种用来匹配、搜索和处理文本的强大工具。它是由一系列字符和特殊符号组成的模式,用于描述字符串的特定格式。

在菜鸟与各大学习平台都会有学习正则表达式的资料.

下面是菜鸟教程的正则表达式学习路口:

https://m.runoob.com/python/python-reg-expressions.html

今天首先了解到的第一个函数是findall()

findall(pattern,string,flags=0)

在findall中:

pattern=正则表达式,

string=匹配的字符串

扫描二维码关注公众号,回复: 16405784 查看本文章

flags = 特殊功能

最终还回一个列表

如果没有匹配到返回空列表

flags常用的一个是re.S忽略换行符

打印得到:

 

 第二个函数是search()函数

re.search(pattern,string,flags=0)

匹配成功返回一个正则对象,失败则为None,如果想要得到结果则需要使用.group()方法 如果想要得到括号里面的匹配值,需要把.group()方法的参数写为1;

参数的大小与正则表达式里面的括号相对应,写i就表示查看第i个括号的内容

.*?匹配方式(非贪婪匹配:获取最短的满足条件的字符串)

.*匹配方式(贪婪匹配:获取最长的满足条件的字符串 

 

打印得到:

 

 了解这两个函数就可以简单的使用re模块了

在之后有爬虫的几句总结

先抓大在抓小的匹配模式

选择我们需要的数据进行抓取

对有用的数据和无用的数据分类 

之后就是使用python读文本文件

在python中我知道两种

第一种:

f = open('文件路径','操作方式',encoding='utf-8')
pass
f.close()

第二种:

with open('文件路径','文件操作方式',encoding='utf-8') as f
    pass

操作的方式下面有个链接讲的比较全:

「Python基础知识」文件操作,打开文件,读取文件和写入文件 (baidu.com)

我们就可以把re模块中匹配的写入到文件中,一行一行的写入csv文件中,存储数据,

在现在这个时代数据是十分有价值的,甚至可以说比代码还要贵。

                                        (单纯记录本人今天的学习路径,大神勿喷,看不过可以指正,恭听!)

猜你喜欢

转载自blog.csdn.net/date3_3_1kbaicai/article/details/131711557