精华内容
下载资源
问答
  • python 保存网页图片到本地

    千次阅读 2014-12-23 10:24:44
    /usr/bin/env Python #coding=utf-8 import time import datetime import sys import random import math import uuid import cookielib import urllib2 import os class GetImage(): reload(sy
    #!/usr/bin/env Python
    #coding=utf-8 
    
    import time
    import datetime
    import sys
    import random
    import math
    import uuid
    import cookielib
    import urllib2
    import os
    
    class GetImage():
    	reload(sys)
    	sys.setdefaultencoding('utf8')	
    	'''
    	抓取网页文件内容,保存到内存
    	
    	@url 欲抓取文件 ,path+filename
    	'''
    	def get_file(self,url):
    		try:
    			cj=cookielib.LWPCookieJar()
    			opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    			urllib2.install_opener(opener)
    		    
    			req=urllib2.Request(url)
    			operate=opener.open(req)
    			data=operate.read()
    			return data
    		except BaseException, e:
    			print e
    			return None
    		 
    		'''
    		保存文件到本地
    		
    		@path  本地路径
    		@file_name 文件名
    		@data 文件内容
    		'''
    	def save_file(self,file_name, data):
    		if data == None:
    			return
    	     
    	 
    		file=open(file_name, "wb")
    		file.write(data)
    		file.flush()
    		file.close()
    	def save_png_file(self,filename,url):
    		self.save_file(filename,self.get_file(url))
    	
        
    if __name__=="__main__":
    
       h1 = GetImage()
     
       #h1.save_file('c:/log/124.png',h1.get_file('http://1.1.1.1/doc/images/public/ICON/norecord.png'))
       #url = 'http://1.1.1.1/doc/images/public/ICON/norecord.png'
       #file_path ='c:/log/125.png'
       #h1.save_png_file(file_path,url)    

    展开全文
  • Python 保存 网页上的图片

    千次阅读 2018-03-13 14:27:29
    使用Python保存网站上的图片。 测试网站是豆瓣电影上的海报网址 使用以下code成功的建立了一个文件夹,并且在其中 保存该页面上的17张海报图片(仅保存海报图片,其他图片不保存)。 使用`Python`保存网站上的...

    使用Python保存网站上的图片。
    测试网站是豆瓣电影上的海报网址
    使用以下code成功的建立了一个文件夹,并且在其中
    保存该页面上的17张海报图片(仅保存海报图片,其他图片不保存)。

    使用`Python`保存网站上的图片。
    测试网站是豆瓣电影上的海报网址
    使用以下code成功的建立了一个文件夹,并且在其中
    保存该页面上的17张海报图片(仅保存海报图片,其他图片不保存)。
    
    from urllib import request
    import os
    
    def url_open(url):
        req = request.Request(url)
        response = request.urlopen(url)
        html = response.read()
        return html
    
    def find_imgs(url):              #构造一个函数,返回一个存储了若干图片地址的列表
        html = url_open(url).decode('utf-8') #使用decode('utf-8') 建立一个str对象
        img_addrs = []                  #img_addrs是一个储存图片地址的列表
        a = html.find('img src=') #寻找图片地址的起始位置,如果没有找到find()会返回-1
        while a != -1:                  #将页面上所有海报图片全部提取
            b = html.find('.jpg',a, a+100) #从a-a+100区间,寻找图片地址的末尾位置,
            if b != -1:
                c = html[a+9:b+4]       #c就是在html中截取到的图片地址
                if 'view' in c:      #进行一步筛选,只想保留海报图片,不需要其他图片
                    print(c)            #打印出图片地址
                    img_addrs.append(c)   #将图片地址添加到列表中
            else:                       #没有找到合适的图片地址怎么办?
                b = a + 100             #接着找
            a = html.find('img src=',b)
        return img_addrs
    
    def save_imgs(folder,img_addrs): #构造一个函数能够保存图片
        os.mkdir(folder)         #建立文件夹
        os.chdir(folder)         #跳转到该文件夹 进行之后文件的写入
        for each in img_addrs: #依次写入图片。并采用图片地址最后一个小节 作为文件名
            filename = each.split("/")[-1]
            with open(filename,'wb')as f:
                img = url_open(each)
                f.write(img)
    
    def download_jpg():
        folder = 'D:/eclmn/tobeD' #设定的保存位置,以及目标网址
        url = "https://movie.douban.com/subject/6390825/photos?type=R&start=0&sortby=like&size=a&subtype=o"
        img_addrs = find_imgs(url)  #调用find_imgs()函数
        print("共保存 %d 张图片"% len(img_addrs)) #打印图片数量
        save_imgs(folder,img_addrs) #调用save_imgs() 函数
    
    if __name__ == '__main__':  
        download_jpg()

    显示的结果:

    https://img3.doubanio.com/view/photo/m/public/p2512123434.jpg
    https://img1.doubanio.com/view/photo/m/public/p2502233869.jpg
    https://img3.doubanio.com/view/photo/m/public/p2462191333.jpg
    https://img3.doubanio.com/view/photo/m/public/p2512869662.jpg
    https://img3.doubanio.com/view/photo/m/public/p2511515914.jpg
    https://img3.doubanio.com/view/photo/m/public/p2506117181.jpg
    https://img3.doubanio.com/view/photo/m/public/p2511801982.jpg
    https://img3.doubanio.com/view/photo/m/public/p2511586591.jpg
    https://img3.doubanio.com/view/photo/m/public/p2506401176.jpg
    https://img3.doubanio.com/view/photo/m/public/p2512208685.jpg
    https://img3.doubanio.com/view/photo/m/public/p2512202212.jpg
    https://img3.doubanio.com/view/photo/m/public/p2511585613.jpg
    https://img3.doubanio.com/view/photo/m/public/p2508851750.jpg
    https://img3.doubanio.com/view/photo/m/public/p2507079945.jpg
    https://img3.doubanio.com/view/photo/m/public/p2502610863.jpg
    https://img3.doubanio.com/view/photo/m/public/p2502225690.jpg
    https://img1.doubanio.com/view/photo/m/public/p2493795748.jpg
    共保存 17 张图片

    可以使用正则表达式进行匹配。在import re之后 输入下面两句就会在html中查找符合条件的字符串,并以列表的形式存储。

    p=r'<img src="([^"]+/.jpg)"
    img_list=re.findall(p,html)
    from urllib import request
    import os
    
    def url_open(url):
        req=request.Request(url)
        req.add_header('***')
        response = request.urlopen(url)
        html = response.read()
        return html
    
    def get_page(url):
        html= url_open(url).decode('utf-8)
        a = html.find('current-comment-page') +23
        b = html.find(']',a)
        return html[a:b]
    
    def find_imgs(url):
        html = url_open(url).decode('utf-8')
        img_addrs = []
    
        a = html.find('img src=')
        while a != -1:
            b = html.find('.jpg',a,a+100)
            if b != -1:
                img_addrs.append(html[a+9:b+4])
            else:
                b = a + 9
    
            a = html.find('img src=',b)
    
        return img_addrs
    
    def save_imgs(folder, img_addrs):
        for each in img_addrs:
            filename = each.split('/')[-1]
            with open(filename, 'wb') as f:
                img = url_open(each)
                f.write(img)
    
    def download_jpg(folder='D:/eclmn/tobeD', pages=10):
        os.chdir(folder)
        url = 'http://jandan.net/ooxx'
        page_num = int(get_page(url))
        for i in range(pages):
        page_num -= 1
        page_url = url + 'page-' + str(page_num) +'#comments'
        img_addrs = find_imgs(page_url)
        save_imgs(folder,img_addrs)
    
    if __name__ = '__main__':
        download_jpg()
    展开全文
  • python爬取网页图片并下载保存本地

    千次阅读 2019-06-04 16:01:51
    python爬取网页图片并下载保存本地 以http://www.baidu.com为例 新建项目,路径如下 start.py #!/usr/bin/env python # -*- coding:utf-8 -*- import modules.my_request import modules.is_file_exist ...

    python爬取网页图片并下载保存本地
    以http://www.baidu.com为例
    新建项目,路径如下
    在这里插入图片描述
    start.py

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    import modules.my_request
    import modules.is_file_exist
    import modules.get_picture
    import conf.settings
    
    modules.is_file_exist.is_file_exist(conf.settings.my_file)
    
    modules.my_request.my_request_content('http://www.baidu.com')
    
    modules.my_request.my_request_result('http://www.baidu.com')
    
    # modules.get_picture.read_all()
    
    modules.get_picture.read_pictures()
    
    modules.get_picture.download_pictures()
    
    

    settings.py

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    import os
    import sys
    import platform
    
    if platform.system() == "Windows":
        #windows操作系统,数据库路径
        BASE_DIR = "\\".join(os.path.abspath(os.path.dirname(__file__)).split("\\")[:-1])
        #join 可以将元组、字符串、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
        #os.path.abspath
        database_path = os.path.join(BASE_DIR,"database")#数据库路径
        print('BASE_DIR'+BASE_DIR)
    
    else:
        BASE_DIR = "/".join(os.path.abspath(os.path.dirname(__file__)).split("/")[:-1])
        database_path = os.path.join(BASE_DIR, "database")
    
    '''http调用结果存储路径'''
    my_file = os.path.join(database_path, "http.txt")#会从第一个以”/”开头的参数开始拼接,之前的参数全部丢弃
    # print(my_file)
    
    '''数据裁剪后的图片链接存储文档路径'''
    my_picfile = os.path.join(database_path, "my_picfile.txt")
    # print(my_picfile)
    
    '''调用结果存储路径'''
    my_result = os.path.join(database_path, "my_result.csv")
    
    '''爬取图片存储路径'''
    my_pictures = os.path.join(BASE_DIR, "pictures/")
    print(my_pictures)
    

    database路径下的内容为自动生成,只需创建database文件夹
    get_picture.py

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    import re
    import conf.settings
    import modules.is_file_exist
    import urllib.request
    
    '''遍历http调用结果内容'''
    def read_all():
        my_file = open(conf.settings.my_file, "r", encoding='UTF-8')
        for line in my_file.readlines():
            # line = line.strip()
            if line !='\n':
                print(line)
        my_file.close()
    
    '''数据裁剪后的图片链接存储文档'''
    def read_pictures():
        reg = re.compile('http.*?png', re.S)
        read_pictures_my_file = open(conf.settings.my_file, "r", encoding='UTF-8')
        for line in read_pictures_my_file.readlines():
            if reg.search(line):
                # print(line)
                m1 = reg.findall(line)
                print(m1[0])
                modules.is_file_exist.is_file_exist(conf.settings.my_picfile)
                read_pictures_picfile = open(conf.settings.my_picfile, "a", encoding='UTF-8')
                read_pictures_picfile.write(m1[0]+'\n')
                read_pictures_picfile.close()
        read_pictures_my_file.close()
    
    '''下载图片'''
    def download_pictures():
        download_pic = open(conf.settings.my_picfile, "r", encoding='UTF-8')
        imgName = 0
        for imgPath in download_pic.readlines():
            try:
                f = open(conf.settings.my_pictures + str(imgName) + ".png", 'wb')
                f.write((urllib.request.urlopen(imgPath)).read())
                # print(imgPath)
                f.close()
            except Exception as e:
                print(imgPath + " error")
            imgName += 1
    
        print("All pictures have been download!")
    

    is_file_exist.py

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    import os
    import conf.settings
    
    # print('is_file_exist'+conf.settings.my_file)
    # print('is_file_exist'+conf.settings.my_picfile)
    def is_file_exist(is_file):
        '''打开文件,若不存在则创建,判断文件是否为空,若为空数据初始化'''
        exist_file = open(is_file, "a")
        if is_file == conf.settings.my_file:
            file_exist = os.path.getsize(conf.settings.my_file)
            exist_file.close()
        elif is_file == conf.settings.my_picfile:
            file_exist = os.path.getsize(conf.settings.my_picfile)
            exist_file.close()
        else:
            file_exist=os.path.getsize(conf.settings.my_result)
            exist_file.close()
    
        if file_exist == 0:
            '''数据初始化'''
            inf = "\n"
            my_file = open(is_file, "a")
            my_file.write(inf)
            my_file.close()
    

    my_request.py

    # encoding:utf-8
    import urllib.request
    import conf.settings
    import requests
    
    
    '''获取http接口数据,存储到文档中'''
    def my_request_content(url):
        urllib.request.urlretrieve(url, conf.settings.my_file)
    
    '''获取http接口调用状态,存储到文档中'''
    def my_request_result(url):
        response = requests.get(url)
        my_request_result=open(conf.settings.my_result, "a", encoding='utf-8')
        s = "status_code"
        my_request_result.write(s+','+str(response.status_code)+'\n')
        my_request_result.write(u"url"+','+str(response.url)+'\n')
        my_request_result.write("headers"+','+str(response.headers)+'\n')
        my_request_result.write(",Cache-Control" + ',' + response.headers['Cache-Control'] + '\n')
        my_request_result.write(",Content-Encoding,"+response.headers['Content-Encoding']+ '\n')
        my_request_result.write(",Content-Type,"+response.headers['Content-Type']+ '\n')
        my_request_result.write(",Date,"+response.headers['Date'] + '\n')
        my_request_result.write(",Connection,"+response.headers['Connection'] +'\n')
        my_request_result.write("cookie,"+str(response.cookies)+'\n')
        # print('打印cookie信息'+response.cookies)  # 打印cookie信息
        # print('以文本形式打印网页源码'+response.text)  # 以文本形式打印网页源码
        # print('以字节流形式打印'+response.content)  # 以字节流形式打印
    

    效果:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • Python保存网页截图

    2020-05-20 16:04:40
    html=False): '''渲染成图片 :param file_name: 网页名 :param output_name: 渲染图片名 :param is_remove_html: 是否删除网页 :return: ''' make_snapshot(snapshot, file_name, output_name, is_remove_...

    问题描述

    用pyecharts渲染图像后保存截图




    备注

    效率不高,有更好的方法




    代码

    from snapshot_selenium import snapshot
    from pyecharts.render import make_snapshot
    
    
    def save_picture(file_name='render.html', output_name='result.png', is_remove_html=False):
        '''渲染成图片
    
        :param file_name: 网页名
        :param output_name: 渲染图片名
        :param is_remove_html: 是否删除网页
        :return:
        '''
        make_snapshot(snapshot, file_name, output_name, is_remove_html=is_remove_html)
    
    
    if __name__ == '__main__':
        from pyecharts.charts import Bar
    
        bar = Bar()
        bar.add_xaxis(['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'])
        bar.add_yaxis('商家A', [5, 20, 36, 10, 75, 90])
        bar.render('render.html')
        save_picture('render.html', 'result.png')
    

    在这里插入图片描述




    参考文献

    1. 渲染图片 - pyecharts
    2. 安装Chrome浏览器驱动教程
    展开全文
  • Python抓取网页图片

    2017-09-09 00:15:21
    要先做几个个准备工作:①找到有图片的网站②指定电脑保存路径③利用浏览器工具查看网页代码中图片保存路径(非常重要,如果错误可能抓取不到)下面给出代码:注意看注释网上的代码基本上都是python2,这里的代码...
  • 作为一个Python新手,简单的编写了一个爬虫,获取网页图片数据,并下载到本地的 一小段程序 ,有更加优化方法可以共享哦!本人小白一名。 #!/usr/python2.7 # -*- coding:utf-8 -*- import re import urllib import...
  • 第一次写爬虫,想保存网页到本地,然后网页中的图片想用本地的图片来替换,但是用BeautifulSoup发现无法修改网页的标签的属性,下面是尝试爬取百度网页的代码,但是保存到本地之后发现img中src属性没有发生改变 ...
  • python网页转换为图片保存

    千次阅读 2020-08-07 22:42:59
    1.网站中的网页转换为图片: 思路:使用selenium的PhantomJS将网页转换为图片。 #-*- coding=utf-8 -*- #@Time : 2020/8/7 10:08 PM #@Author : 小邋遢 #@File : tset.py #@Software : PyCharm from selenium ...
  • Python 网页爬取图片

    千次阅读 多人点赞 2017-12-06 19:36:14
    Python 网页爬取图片 实例
  • Python爬虫(五) ...—— BeautifulSoup库应用实践之保存网页 —— 引入库: import requests from bs4 import BeautifulSoup 确定保存路径(推荐使用绝对路径): PATH = "/Users/Ezy/Documents/Test/f...
  • python爬取网页所有图片保存到本地

    千次阅读 多人点赞 2019-12-12 11:07:57
    img_url print(img_full_url) # 遍历获取图片名称 for alt in all_img: print('alt = ', alt) # 定义存储位置 root = "D://PythonDownload/test/" alt = img['alt'] # 定义图片存储名称和格式 # path = root + img_...
  • #coding=utf-8 ... 保存图片  '''   filedir += '/'  for img in imgs:  filename = img.split('/')[-1]  filename = filedir + filename  urllib.urlretrieve(img, filename)  
  • python爬取网页图片

    2017-05-25 15:55:21
    当我们在网页上看到很多美图时,想要保存到本地,如果数量很多的话,一张张手动复制粘贴会很麻烦,现在用python可以实现一次性保存到本地。#coding:utf-8 import re #re模块主要包含了正则表达式 import urllib....
  • Python爬取网页图片

    千次阅读 2018-10-18 20:00:09
    本文利用Python3爬取网上图片数据,并保存到本地。具体代码如下图所示 # author:首席鉴黄师 import re import requests #url url = 'https://tieba.baidu.com/p/5915762447' #模拟浏览器请求资源 we_data = ...
  • python获取网页图片

    万次阅读 2018-03-05 21:40:48
    3.抓取图片内容并保存在本地。 第一步可以用urllib中request子模块实现,第三步保存在本地也很简单。下面重点说获取图片地址。 获取图片地址 现在的url比视频的中的有点区别,在网页中看一下图片的url信息: ...
  • python抓取网页图片

    千次阅读 2013-08-10 14:03:09
    # -*- coding: utf-8 -*- #----------------------------...# 程序:网页图片抓取 # 作者:lqf # 日期:2013-08-10 # 语言:Python 2.7 # 功能:抓取网页jpg链接图片 #--------------------------------------- im
  • Python3 selenium保存网页base64编码图片

    千次阅读 2019-03-16 11:12:39
    Python selenium保存网页base64编码图片: from selenium import webdriver from base64 import b64decode import time url = &quot;url&quot; driver = webdriver.Chrome() driver.maximize_window() ...
  • Python 爬取网页图片

    千次阅读 2017-11-28 11:36:32
    因为训练数据需求,需要爬取一些图片做训练。爬取的是土巴兔 网站的 家装图片 根据风格进行爬取图片 http://xiaoguotu.to8to.com/list-h3s13i0
  • 使用Python爬取网页图片

    千次阅读 2017-03-06 17:20:25
    使用Python爬取网页图片 李晓文 21 天前 近一段时间在学习如何使用Python进行网络爬虫,越来越觉得Python在处理爬虫问题是非常便捷的,那么接下来我就陆陆续续的将自己学习的爬虫知识分享给大家。 首先...
  • Python选择性爬取网页图片保存本地 刚学python不久,所以先记录一个爬取图片的方式,并保存本地指定路径下。当然不一定会是最简单的方式,但肯定是使用起来感觉最简单的。 做的不好,仅供参考。 首先需要安装几个...
  • python网页上的图片保存至本地

    千次阅读 2019-10-05 18:00:57
    /usr/bin/python # -*- coding: UTF-8 -*- import os, sys, time import urllib.request, requests, bs4 url = 'https://img.zcool.cn/community/0133545d90afc5a8012060bef6e4c0.gif' fname = url.split('/')[-.....
  • 使用python 简单的保存网页图片

    万次阅读 2015-01-25 22:18:30
    使用前,可以先建立好一个文件夹用于保存图片,本例子中 使用的文件夹是 d:\\pythonPath这个文件夹 代码如下: # -*- coding: UTF-8 -*- import os,re,urllib,uuid #首先定义云端的网页,以及本地保存的...
  • 分享一下之前学习Python网络爬虫爬取图片的经验,附上源码,欢迎大家参考指正。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,766
精华内容 13,906
关键字:

python保存网页图片

python 订阅