侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Python实现简单网页图片抓取完整代码实例

Python  /  管理员 发布于 7年前   243

利用python抓取网络图片的步骤是:
1、根据给定的网址获取网页源代码
2、利用正则表达式把源代码中的图片地址过滤出来
3、根据过滤出来的图片地址下载网络图片

以下是比较简单的一个抓取某一个百度贴吧网页的图片的实现:

# -*- coding: utf-8 -*- # feimengjuan import re import urllib import urllib2 #抓取网页图片  #根据给定的网址来获取网页详细信息,得到的html就是网页的源代码 def getHtml(url):   page = urllib.urlopen(url)   html = page.read()   return html  def getImg(html):   #利用正则表达式把源代码中的图片地址过滤出来   reg = r'src="https:/article/(.+?\.jpg)" pic_ext'   imgre = re.compile(reg)   imglist = imgre.findall(html) #表示在整个网页中过滤出所有图片的地址,放在imglist中   x = 0   for imgurl in imglist:     urllib.urlretrieve(imgurl,'%s.jpg' %x) #打开imglist中保存的图片网址,并下载图片保存在本地     x = x + 1  html = getHtml("http://tieba.baidu.com/p/2460150866")#获取该网址网页详细信息,得到的html就是网页的源代码 getImg(html)#从网页源代码中分析并下载保存图片 

进一步对代码进行了整理,在本地创建了一个“图片”文件夹来保存图片

# -*- coding: utf-8 -*- # feimengjuan import re import urllib import urllib2 import os #抓取网页图片  #根据给定的网址来获取网页详细信息,得到的html就是网页的源代码 def getHtml(url):   page = urllib.urlopen(url)   html = page.read()   return html  #创建保存图片的文件夹 def mkdir(path):   path = path.strip()   # 判断路径是否存在   # 存在  True   # 不存在 Flase   isExists = os.path.exists(path)   if not isExists:     print u'新建了名字叫做',path,u'的文件夹'     # 创建目录操作函数     os.makedirs(path)     return True   else:     # 如果目录存在则不创建,并提示目录已经存在     print u'名为',path,u'的文件夹已经创建成功'     return False # 输入文件名,保存多张图片 def saveImages(imglist,name):   number = 1   for imageURL in imglist:     splitPath = imageURL.split('.')     fTail = splitPath.pop()     if len(fTail) > 3:       fTail = 'jpg'     fileName = name + "/" + str(number) + "." + fTail     # 对于每张图片地址,进行保存     try:       u = urllib2.urlopen(imageURL)       data = u.read()       f = open(fileName,'wb+')       f.write(data)       print u'正在保存的一张图片为',fileName       f.close()     except urllib2.URLError as e:       print (e.reason)     number += 1  #获取网页中所有图片的地址 def getAllImg(html):   #利用正则表达式把源代码中的图片地址过滤出来   reg = r'src="https:/article/(.+?\.jpg)" pic_ext'   imgre = re.compile(reg)   imglist = imgre.findall(html) #表示在整个网页中过滤出所有图片的地址,放在imglist中   return imglist   #创建本地保存文件夹,并下载保存图片 if __name__ == '__main__':   html = getHtml("http://tieba.baidu.com/p/2460150866")#获取该网址网页详细信息,得到的html就是网页的源代码   path = u'图片'   mkdir(path) #创建本地文件夹   imglist = getAllImg(html) #获取图片的地址列表   saveImages(imglist,path) # 保存图片 

结果在“图片”文件夹下保存了几十张图片,如截图:

总结

以上就是本文关于Python实现简单网页图片抓取完整代码实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

Python爬虫实例爬取网站搞笑段子

python爬虫系列Selenium定向爬取虎扑篮球图片详解

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!


  • 上一条:
    python读取与写入csv格式文件的示例代码
    下一条:
    神经网络python源码分享
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客