#from http://hi.baidu.com/%B7%C9%E9%DCfuya/blog/item/a92bcde9285719dcd439c92e.html
import HTMLParser
import urllib
import os
import sys
urlString = "http://www.python.org"
//不知道什么原因,当网址换成百度,或是
谷歌之后一个是报错,一个是没有反应。
#把图像文件保存至硬盘
def getImage(addr):
u = urllib.urlopen(addr)
data = u.read()
splitPath = addr.split('/')
path = 'E:\\'
fName = splitPath.pop()//
此处使用pop来获取图片文件的名称
print "Saving %s" % fName
f = open(os.path.join(path,fName), 'wb')//
这个作用是将文件与路径名合并,并且打开文件赋予写的权限
f.write(data)
f.close()
#定义HTML解析器
class parseImages(HTMLParser.HTMLParser):
def handle_starttag(self, tag, attrs):
if tag == 'img':
for name,value in attrs:
if name == 'src':
if 'http' in value:
getImage(value)
''' getImage(urlString + "/" + value)'''//
此处容易在存在不全的url时发生错误,当value里面存在http时就直接下载value即可
#创建HTML解析器的实例
lParser = parseImages()
#打开HTML文件
u = urllib.urlopen(urlString)
print "Opening URL\n===================="
print u.info()
#把HTML文件传给解析器
lParser.feed(u.read())
lParser.close()
下一步就是对于复杂的网页信息进行处理了。