使用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 相关文章推荐
python微信跳一跳游戏辅助代码解析
Jan 29 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
Apr 27 Python
django中瀑布流写法实例代码
Oct 14 Python
通过实例了解python property属性
Nov 01 Python
python获取引用对象的个数方式
Dec 20 Python
如何使用selenium和requests组合实现登录页面
Feb 03 Python
pytorch中图像的数据格式实例
Feb 11 Python
python利用datetime模块计算程序运行时间问题
Feb 20 Python
解决python使用list()时总是报错的问题
May 05 Python
pycharm如何使用anaconda中的各种包(操作步骤)
Jul 31 Python
Django修改app名称和数据表迁移方案实现
Sep 17 Python
python 利用PyAutoGUI快速构建自动化操作脚本
May 31 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的安全
2006/10/09 PHP
请php正则走开
2008/03/15 PHP
php 无法载入mysql扩展
2010/03/12 PHP
php从字符串创建函数的方法
2015/03/16 PHP
Yii框架日志操作图文与实例详解
2019/09/09 PHP
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
2016/05/20 Javascript
详解Vue 2.0封装axios笔记
2017/06/22 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
three.js中多线程的使用及性能测试详解
2021/01/07 Javascript
[02:27]刀塔重生降临
2015/10/14 DOTA
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
python实现爬虫统计学校BBS男女比例(一)
2015/12/31 Python
Python 通过URL打开图片实例详解
2017/06/01 Python
Python爬豆瓣电影实例
2018/02/23 Python
Python3 replace()函数使用方法
2018/03/19 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
Python正则表达式实现简易计算器功能示例
2019/05/07 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
2019/09/05 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
2020/03/11 Python
利用Opencv实现图片的油画特效实例
2021/02/28 Python
UNIX文件系统分类
2014/11/11 面试题
运动会四百米广播稿
2014/01/19 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
圣诞晚会主持词
2015/07/01 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
win10如何更改appdata文件夹的默认位置?
2022/07/15 数码科技