本文代码来自中谷教育邹琪鲜老师的视频,地址http://www.csvt.net/resource/video/6844/largesize
注:本文旨在练习正则表达式的简单使用方法
#!/usr/bin/evn python
# -*- coding: cp936 -*-
import re #导入正则表达式模块
import urllib #导入urllib模块,读取页面与下载页面需要用到
def getHtml(url): #定义getHtml()函数,用来获取页面源代码
page = urllib.urlopen(url) #urlopen()根据url来获取页面源代码
html = page.read() #从获取的对象中读取内容
return html
def getImage(html): #定义getImage()函数,用来获取图片地址并下载
reg = r’src="(.*?\.jpg)" width’ #定义匹配图片地址的url的正则表达式
imgre = re.compile(reg) #对正则表达式进行编译,运行效率更高
p_w_picpathlist = imgre.findall(html) #使用findall()查找html中匹配正则表达式的图片url
x = 0
for p_w_picpathurl in p_w_picpathlist:
urllib.urlretrieve(p_w_picpathurl,’picture_%s.jpg’ % x) #urlretrieve()下载文件
x +=1
uri = raw_input("请输入网址: ")
r = r’^http://’
if re.match(r,uri):
html2 = getHtml(uri)
else:
html2 = getHtml("http://" + uri)
getImage(html2)
运行脚本test.py
抓取到的图片如下:
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试