Python笔记2--正则表达式与爬虫案例
来源:互联网 发布:java语言编程软件 编辑:程序博客网 时间:2024/06/06 00:02
正则表达式是一种小型的,高度专业化的编程语言,在很多语言(javascript,Python等)中都有,在Python中通过re模块实现,是一种强有力的匹配字符串神器。
个人的学习正则表达式分成三步:
<1>初始正则表达式,了解元字符,以及熟练掌握经常使用的元字符;
<2>掌握正则表达式的编译规则,熟练使用正则表达式匹配字符串;
<3>使用正则表达式完成Python小爬虫。
首先,先注释一下常用的元字符(元字符本身在字符集中不起作用):
[ ]:用来指定一个字符集,比如[abc],[a-z],[0-9]等;
^ :匹配行首;
$ :匹配行尾;
\d:匹配一个数字; \w:匹配一个字母或数字; \w:匹配一个空格;
*:任意个字符(包括0);
+ :至少1个字符;
?:0个或1个字符;
{n} :n个字符; {n,m}:n-m个字符。
常用的元字符就是这些,下面举个例子:
\d{3}\s\-\s\d{8}可以与010 - 12345678相匹配。
其次,正则表达式的编译规则,正则表达式默认采用的是贪婪匹配,也就是匹配尽可能多的字符。Python中使用re模块进行正则表达式的编译。在re模块中
需学会使用一些编译标志,比如re.S(匹配包括换行在内的所有字符),re.I(无视大小写),re.M(匹配多行)等。这里还有一个注意点就是分组,用()表
示分组,举个例子:
可以看出分组的作用了,分组不仅可以将某一集合看成一个整体,也可以直接提取出自己想要的部分,这在一些爬虫中使用会很方便。
最后,使用正则表达式来进行一个简单的爬虫案例。
这里选用百度百科的首页进行png格式的图片下载:
当然也可以通过Python先查看该网页的源代码,结果如下图:
这里可以找到png格式的图片链接,格式均为src=”http******.png“,所以我们便可以将正则表达式写成如上源程序代码,结果如下:
可以看到,图片已经下载到指定的目录中了,这样一个利用正则表达式的小爬虫案例便完成了。
- Python笔记2--正则表达式与爬虫案例
- Python爬虫学习笔记(1)-正则表达式
- Python爬虫入门笔记:正则表达式
- [笔记]python爬虫:正则表达式库re
- Python爬虫 正则表达式
- Python爬虫-正则表达式
- python爬虫-正则表达式
- 爬虫与正则表达式
- Python学习笔记<正则表达式与python>
- python爬虫之正则表达式学习笔记一
- python网络爬虫学习笔记之之正则表达式
- Python爬虫之正则表达式
- python爬虫之正则表达式
- python爬虫和正则表达式
- python爬虫之正则表达式
- Python网络爬虫-正则表达式
- python爬虫之正则表达式
- 案例:使用正则表达式的爬虫
- 每个Mac OS X 命令行用户应当知道的八个终端工具
- mysql 导出导入数据库
- 升级ubuntu14.04之后导致编译linux kernel出错的解决
- java中checked异常和unchecked异常区别?
- HttpURLConnection下载网络图片
- Python笔记2--正则表达式与爬虫案例
- UNIX环境高级编程(第三版)学习笔记(三、文件I/O之一)
- httpclient的一些学习心得
- ios UILabel(label控件)的详细使用及特殊效果
- 代码高亮 highlightjs 使用文档
- TextField
- Ubuntu 安装Chrome步骤
- a++ 与 ++a 是不是左值?为什么?
- 在写程序时用到了atoi和itoa函数