python实现简单爬虫以及正则表达式简述
来源:互联网 发布:js 提取html中的文本 编辑:程序博客网 时间:2024/05/21 09:46
python中使用 re模块实现对正则表达式的使用方式
实现方式包括 2种
1 re是一个引用模块,类似与其他的模块的使用,可以直接进行调取模块中的功能函数使用。
例如:
print re.split(r'\d+','one1two2three3four4')
得到的结果:
['one', 'two', 'three', 'four', '']
split语法:
split(string[, maxsplit]) | re.split(pattern, string[, maxsplit]):
按照能够匹配的子串将string分割后返回列表。maxsplit用于指定最大分割次数,不指定将全部分割。
此处使用的是第二种语法结构:re.split(pattern, string[, maxsplit])
说明:pattern 匹配的正则表达式
string 要匹配的字符串。
flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
正则表达式中r 表示的是Python 代码中的 Raw 字符串,在字符串前加个 “r” 反斜杠就不会被任何特殊方式处理,所以 r”\n” 就是包含”\” 和 “n” 的两个字符,而 “\n” 则是一个字符,表示一个换行。
如何使用第一种语法?
这就是利用re模块提供的正则表达式对象,即第2种方法
2 使用compile 函数生成一个正则表达式对象。该对象能够通过一些方法(函数)进行正则表示式处理操作。
具体流程可类似如下所示(来源于网上,当然含包括除匹配之外的类似搜索,替换等处理):
因此对于 1 中的实例,还可以通过一下方法进行实现:
p = re.compile(r'\d+')print p.split('one1two2three3four4')
第一行是将正则表达式编译为Pattern对象
第二行是调用对象的方法
所以,在使用python的正则表达式时,可以采取以上任意一种方法。当然,第二种方式可以重复使用,灵活性大。
说明:由于此处只介绍python正则表达式的使用思路,所以更多有关的,具体的语法,语句可以参考相关材料。
python简单爬虫实现
此处简单实现爬虫实例,主要简述思路:包括,抓取网页,数据获取。
import reimport urllibdef getHtml(url): page=urllib.urlopen(url) html=page.read() return htmldef getImg(html): reg=r'src="(.+?\.jpg)"' imgre=re.compile(reg) imglist=re.findall(imgre,html) return imglisthtml=getHtml("http://tieba.baidu.com/p/2460150866")print(getImg(html))
此源码来源 http://www.cnblogs.com/fnng/p/3576154.html
分别使用到获取url的库urllib以及正则表达式模块。正则表达式使用的是第二种语法结构。
说明: 以上使用的是python2.7。
还有一个获取url的库urllib2,但在python3.x中两者合并为 urllib。所以导入模块改为:
import urllibimport urllib.request
上述程序中的urllib应该改为
urllib.request
(现在有更高版本的urllib,进一步简化了程序语句)
以上程序抓取的结果是一些图片的链接。
- python实现简单爬虫以及正则表达式简述
- python之正则表达式以及网络爬虫
- python正则表达式简述
- Python爬虫 正则表达式
- Python爬虫-正则表达式
- python爬虫-正则表达式
- python爬虫正则表达式之处理换行符以及其他
- Pyton实现简单爬虫和正则表达式的利用
- Python爬虫之正则表达式
- python爬虫之正则表达式
- python爬虫和正则表达式
- python爬虫之正则表达式
- Python网络爬虫-正则表达式
- python爬虫之正则表达式
- Python:入门到实现网络爬虫 Day4 --正则表达式
- LUA、python、注册表和正则表达式简述
- JavaSE实战——正则表达式、网页爬虫简述
- python 简单爬虫实现
- JavaScript基础学习之-JavaScript权威指南--第八章函数属性方法构造函数
- C++对象模型——指向Member Function的指针 (Pointer-to-Member Functions)(第四章)
- 指向字符串常量的指针变量
- 28-正则表达式-10-正则表达式(练习_4爬虫)
- Unity入门游戏太空大战
- python实现简单爬虫以及正则表达式简述
- Nginx多Server反向代理配置
- Tephra之愿景
- Gonet2 游戏服务器框架解析之Agent(2)
- (持续更新)申请苹果开发者公司账号的历程(2015年7月)
- VC中,高精度休眠函数
- Codeforces Round #315 (Div. 1) B. Symmetric and Transitive 斯特林数 贝尔数
- 网络爬虫初步:从一个入口链接开始不断抓取页面中的网址并入库
- 监视串口变动