网上的代码基本上都是python2,这里的代码使用的是python3注意没有urllib2这个库了。
要先做几个个准备工作:
①找到有图片的网站
②指定电脑保存路径
③利用浏览器工具查看网页代码中图片的保存路径(非常重要,如果错误可能抓取不到)
下面给出代码:
注意看注释
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
import re import urllib.request # Python2中使用的是urllib2 import urllib import os def getHtml(url): '获取网站地址' page = urllib.request.urlopen(url) html = page.read() return html.decode('UTF-8') def getImg(html): '图片地址注意要从浏览器中查看网页源代码找出图片路径' # 要加括号,作为元组返回 #reg = r'src="(.+?\.jpg)" pic_ext' # 某个贴吧的图片 reg = r'data-progressive="(.+?\.jpg)" ' # Bing壁纸合集抓取地址 # reg = r'src="(.+?\.jpg)" ' # 我的网站图片地址 # reg = r'zoomfile="(.+?\.jpg)" ' # 威锋网手机壁纸 imgre = re.compile(reg) imglist = imgre.findall(html) x = 0 path = 'E:\\Temporary\\new' # 输入保存文件的目录地址 if not os.path.isdir(path): os.makedirs(path) # 检查是否存在地址,如果不存在将自动创建文件夹目录 paths = path + '\\' # 保存在test路径下 for imgurl in imglist: urllib.request.urlretrieve(imgurl, '{}{}.jpg'.format(paths, x)) x = x + 1 if __name__ == '__main__': # html = getHtml("http://bbs.feng.com/read-htm-tid-10616371.html") # 威锋网手机壁纸 # html = getHtml("http://www.omegaxyz.com/") # 我的网站图片地址 html = getHtml("https://bing.ioliu.cn/ranking") # Bing壁纸合集抓取地址 # html = getHtml("http://tieba.baidu.com/p/2460150866") # 某个贴吧的图片 getImg(html) |
注意以上代码在pycharm python3.6.2环境运行
效果截图: