Python访问互联网资源主要依靠三个库:urllib, urllib2, httplib。利用这些库的功能很容易能实现一些网络爬虫。配合html解析或正则表达式,就可以方便的提取或下载网络中的一些内容。如下载文件,提取邮件地址,提取链接,下载图片等。下面是常见的几种使用图片URL下载图片文件的小函数,有用文件操作的,也有直接获取并保存的,可以看出Python的语法是清晰简洁的。其中参数addr为图片url地址:
第一种:
def getImage(addr): u = urllib.urlopen(addr) data = u.read() splitPath = addr.split('/') fName = splitPath.pop() print fName f = open(fName, 'wb') f.write(data) f.close()
第二种:
def getImage2(addr): try: u = urllib2.urlopen(addr) data = u.read() splitPath = addr.split('/') fName = splitPath.pop() print fName urllib.urlretrieve(addr, fName) except Exception,e: print "[Error]Cant't download: %s:%s" %(fName,e)
使用urllib.urlretrieve(addr, fName) 直接用urllib.urlretrieve获取并保存,fName为保存的文件名,当然可加路径。
def getImage2(addr): try: splitPath = addr.split('/') fName = splitPath.pop() print fName open(fName, "wb").write(urllib2.urlopen(addr).read()) except Exception,e: print "[Error]Cant't download: %s:%s" %(fName,e)
使用urllib2.urlopen,简写方式,其实与第一种一样。
”’python中用作注释,注意也要符合缩进规则。
原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/495.html