前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python抓取网页图片

Python抓取网页图片

作者头像
里克贝斯
发布2021-05-21 16:56:07
4.3K0
发布2021-05-21 16:56:07
举报
文章被收录于专栏:图灵技术域图灵技术域

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

要先做几个个准备工作:

①找到有图片的网站

②指定电脑保存路径

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

下面给出代码:

注意看注释

Python

代码语言:txt
复制
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("https://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环境运行

效果截图:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档