使用Python保存网页上的图片或者保存页面为截图


Posted in Python onMarch 05, 2016

Python保存网页图片
这个是个比较简单的例子,网页中的图片地址都是使用'http://。。。。.jpg'这种方式直接定义的。

使用前,可以先建立好一个文件夹用于保存图片,本例子中使用的文件夹是 d:\\pythonPath这个文件夹

代码如下:

# -*- coding: UTF-8 -*- 
import os,re,urllib,uuid 
 
#首先定义云端的网页,以及本地保存的文件夹地址 
urlPath='http://gamebar.com/' 
localPath='d:\\pythonPath' 
 
 
#从一个网页url中获取图片的地址,保存在 
#一个list中返回 
def getUrlList(urlParam): 
  urlStream=urllib.urlopen(urlParam) 
  htmlString=urlStream.read() 
  if( len(htmlString)!=0 ): 
    patternString=r'http://.{0,50}\.jpg' 
    searchPattern=re.compile(patternString) 
    imgUrlList=searchPattern.findall(htmlString) 
    return imgUrlList 
 
     
#生成一个文件名字符串  
def generateFileName(): 
  return str(uuid.uuid1()) 
 
   
#根据文件名创建文件  
def createFileWithFileName(localPathParam,fileName): 
  totalPath=localPathParam+'\\'+fileName 
  if not os.path.exists(totalPath): 
    file=open(totalPath,'a+') 
    file.close() 
    return totalPath 
   
 
#根据图片的地址,下载图片并保存在本地  
def getAndSaveImg(imgUrl): 
  if( len(imgUrl)!= 0 ): 
    fileName=generateFileName()+'.jpg' 
    urllib.urlretrieve(imgUrl,createFileWithFileName(localPath,fileName)) 
 
 
#下载函数 
def downloadImg(url): 
  urlList=getUrlList(url) 
  for urlString in urlList: 
    getAndSaveImg(urlString) 
     
downloadImg(urlPath)

保存的文件如下:

使用Python保存网页上的图片或者保存页面为截图

网页的一部分保存为图片
主要思路是selenium+phantomjs(中文网页需要设置字体)+PIL切图

def webscreen():
  url = 'http://www.xxx.com'
  driver = webdriver.PhantomJS()
  driver.set_page_load_timeout(300)
  driver.set_window_size(1280,800)
  driver.get(url)
  imgelement = driver.find_element_by_id('XXXX')
  location = imgelement.location
  size = imgelement.size
  savepath = r'XXXX.png'
  driver.save_screenshot(savepath)
  im = Image.open(savepath)
  left = location['x']
  top = location['y']
  right = left + size['width']
  bottom = location['y'] + size['height']
  im = im.crop((left,top,right,bottom))
  im.save(savepath)
Python 相关文章推荐
使用scrapy实现爬网站例子和实现网络爬虫(蜘蛛)的步骤
Jan 23 Python
python3简单实现微信爬虫
Apr 09 Python
Python中的字符串操作和编码Unicode详解
Jan 18 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
JavaScript中的模拟事件和自定义事件实例分析
Jul 27 Python
tensorflow使用神经网络实现mnist分类
Sep 08 Python
Python实现程序判断季节的代码示例
Jan 28 Python
python3.x 生成3维随机数组实例
Nov 28 Python
Python 2种方法求某个范围内的所有素数(质数)
Jan 31 Python
python用pip install时安装失败的一系列问题及解决方法
Feb 24 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
Mar 25 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
Jun 23 Python
Python发送form-data请求及拼接form-data内容的方法
Mar 05 #Python
Python多线程爬虫简单示例
Mar 04 #Python
使用Python来开发Markdown脚本扩展的实例分享
Mar 04 #Python
使用py2exe在Windows下将Python程序转为exe文件
Mar 04 #Python
用Python编写简单的微博爬虫
Mar 04 #Python
python相似模块用例
Mar 04 #Python
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 #Python
You might like
PHP判断图片格式的七种方法小结
2013/06/03 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
2018/10/24 PHP
PHP递归算法的简单实例
2019/02/28 PHP
PHP利用DWZ.CN服务生成短网址
2019/08/11 PHP
取得父标签
2006/11/14 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
简单的代码实现jquery定时器
2013/11/17 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
javascript获取元素离文档各边距离的方法
2015/02/13 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
2016/07/05 Javascript
js 获取站点应用名的简单实例
2016/08/18 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
用jQuery.ajaxSetup实现对请求和响应数据的过滤
2016/12/20 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
React复制到剪贴板的示例代码
2017/08/22 Javascript
浅谈vue中数据双向绑定的实现原理
2017/09/14 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
js new Date()实例测试
2019/10/31 Javascript
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
Python模糊查询本地文件夹去除文件后缀的实例(7行代码)
2017/11/09 Python
详解Python字符串切片
2019/05/20 Python
Python如何合并多个字典或映射
2020/07/24 Python
python 解决pycharm运行py文件只有unittest选项的问题
2020/09/01 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
卫校中专生个人自我评价
2013/09/19 职场文书
2015年技术员工作总结
2015/04/10 职场文书
员工工作心得体会
2019/05/07 职场文书