您的位置:首页 > 编程语言 > Python开发

利用python正则表达式抓取网页中的图片到本地

2017-04-07 15:59 615 查看
正则表达式语法:

* 匹配前一个字符0次或无限次

+ 匹配前一个字符1次或无限次

? 匹配前一个字符0次或1次

{m}/{m,n}匹配前一个字符m次或m到n次

*? / +? / ?? 匹配模式为非贪婪模式

import re

ma=re.match(r’[\w]*?’,’I am a boy’)

边界匹配:

^ 匹配字符串开头

$ 匹配字符串结尾

\A/\Z 指定的字符串必须出现在开头/结尾

分组匹配:

| 匹配左右任意一个表达式

(ab) 括号中表达式作为一个分组

\ 引用编号为num的分组匹配到的字符串

(?P) 分组起一个别名

(?p=name) 引用别名为name的分组匹配字符串

python正则表达式的re模块其他方法:

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

在一个字符串中查找匹配

2.findall(pattern,string,flags=0)

找到匹配,返回所有匹配部分的列表

3.sub(pattern,repl,string,count=0,flags=0)

将字符串中匹配正则表达式的部分替换为其他值

4.split(pattern,string,maxsplit=0,flags=0)

根据匹配分割字符串,返回分割字符串组成的列表

python正则表达式练习:

抓取网页中的图片到本地:

1.抓取网页,

2.获取图片地址

3.抓取图片内容并保存到本地

import urllib2
req = urllib2.urlopen('http://www.imooc.com/course/list')
buf = req.read()
print buf

import re
listurl =re.findall(r'http:.+\.jpg',buf)
print listurl

i=0
for url in listurl:
f = open(str(i)+'.jpg','w')
req = urllib2.urlopen(url)
buf = req.read()
f.write(buf)
i+=1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: