# 导入正则表达式模块
import re
# 常用元字符
# [] 字符限制级
r = r"x[abc]x" #中括号内出现任意字符即可
r = r"[0-9]" # ===>r"\d" \D
r = r"[a-zA-Z0-9_]" # ===> r"\w" \W表示取反
r = r"[a-zA-z]" # ===> r"\s"
# ^ 取反
r = r"[^abc]" # 除了abc
# ^ 表示从行首匹配
# \^ 对元字符转义
# $ 行尾
# . 任意字符
# {m,n}前面字符重复m次,最多n次
# * 对前面的字符匹配零次或多次,等价于 {0,}
# + 对前面的字符至少匹配一次, 等价于 {1,}
# ? 前面的字符可有可无, 等价于{0,1}
# () 分组
r = r"\w{3}@.*(\.com|\.cn|\.edu)"
#===============常用函数=================
# re.findall(pattern, string, flag) 返回正则匹配的所有结果
# re.finditer(pattern, string , flag) 返回一个迭代器
# re.match(pattern, string, flag) 只匹配行首,成功匹配则返回match对象,否则返回none
# re.search(pattern, string, flag) 都匹配,返回match对象
# re.split(pattern, string) 正则模式分割
# re.sub(pattern, replace, string) 正则模式替换
# re.subn(pattern, replace, string, numbers) 正则模式替换n次
要熟练使用(.*?)提取想要的字符串
import re
import urllib
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html
def getImg(html):
reg = r'src="(.*?\.jpg)"'
regC = re.compile(reg)
imglist = re.findall(regC,html)
print imglist
x = 0
for imgurl in imglist:
urlall = 'http:'+imgurl
urllib.urlretrieve(urlall,'%s.jpg' % x)
x+=1