Python抓取网页图片

来源:互联网 发布:电脑控制手机桌面软件 编辑:程序博客网 时间:2024/05/21 21:38

网上的代码基本上都是python2,这里的代码使用的是python3注意没有urllib2这个库了。

要先做几个个准备工作:

①找到有图片的网站

②指定电脑保存路径

③利用浏览器工具查看网页代码中图片的保存路径(非常重要,如果错误可能抓取不到)

下面给出代码:

注意看注释

import reimport urllib.request  # Python2中使用的是urllib2import urllibimport osdef 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 + 1if __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环境运行

效果截图:
这里写图片描述