Python抓取网页图片

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

要先做几个个准备工作:

①找到有图片的网站

②指定电脑保存路径

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

下面给出代码:

注意看注释

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环境运行

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

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值