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

# -*- 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)

保存的文件如下:

网页的一部分保存为图片主要思路是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)

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值