精华内容
下载资源
问答
  • 主要介绍了php中使用gd库实现下载网页中所有图片,本文直接给出实现代码,需要的朋友可以参考下
  • 然后用上pyqt做一个界面,写了一个可以下载任意网页所有图片的程序 import sys from PyQt4 import QtGui,QtCore import urllib import os import re import thread import threading class Main_QWidget(QtGui....

         python做爬虫的效率很高。然后用上pyqt做一个界面,写了一个可以下载任意网页上所有图片的程序

    import sys
    from PyQt4 import QtGui,QtCore
    import urllib
    import os
    import re
    import thread
    import threading
    
    class Main_QWidget(QtGui.QWidget):
        def __init__(self):
            QtGui.QWidget.__init__(self)
    
            self.website=QtGui.QLineEdit(self) #网址框
            self.filepath=QtGui.QLineEdit(self)  #路径框
            self.selectpathbutton=QtGui.QPushButton('select',self)
            self.tag=QtGui.QLabel('ready',self)  #状态
            downloadbutton=QtGui.QPushButton('download',self)
    
            grid=QtGui.QGridLayout()
            grid.addWidget(self.website,0,0,1,3)
            grid.addWidget(self.filepath,1,0,1,2)
            grid.addWidget(self.selectpathbutton,1,2)
            grid.addWidget(downloadbutton,2,0)
            grid.addWidget(self.tag,2,2)
    
            self.resize(300,300)
            self.setLayout(grid)
            self.setWindowTitle("download image")
    
            self.connect(self.selectpathbutton,QtCore.SIGNAL('clicked()'),self.selectPath)
            self.connect(downloadbutton,QtCore.SIGNAL('clicked()'),download)
    
        def getWebsite(self):
            return self.website.text() #获取网址的函数
        def getFilePath(self):  
            return self.filepath.text() #获取文件路径的函数
        def setTag(self,downloadtag):   
            self.tag.setText(downloadtag) #显示状态
        def selectPath(self):
            fileName = QtGui.QFileDialog.getExistingDirectory( self, 'Open' )
            self.filepath.setText(fileName)
            return fileName
        
    class mythread(threading.Thread):
        def __init__(self,Website,FilePath):
            threading.Thread.__init__(self)
            self.Website=Website
            self.FilePath=FilePath
        def run(self):
            html=getHtml(self.Website)
            print self.Website
            print self.FilePath
            getImg(html,self.FilePath)
            main.setTag('finsh') #下载完毕后,将状态改为完成
            
    def download():
        Website=unicode(main.getWebsite(),'utf-8').encode('utf-8')
        FilePath=main.getFilePath()
        main.setTag('go')
        #thread.start_new_thread(run,(Website,FilePath))
        t=mythread(Website,FilePath) #新建一个线程,传入参数
        t.start()  
       # while not t.isAlive():
        #    main.setTag('finish')
        #html=getHtml(Website)
        #print html
        #getImg(html,FilePath)
        #print path
    
        
    def getHtml(url):
        return urllib.urlopen(url).read() #返回网页源码
    
    def getImg(html,path):
        reg=re.compile(r'src="(.*?\.(jpg|gif|png))"')
        imglist=reg.findall(html)
        print len(imglist)
        x=0
        for imgurl in imglist:
            print imgurl
            main.setTag(str(x)+'/'+str(len(imglist))) #在状态栏上显示进度
            if imgurl[1]=='gif':
                xpath=path+'\%d.gif' % x
                urllib.urlretrieve(imgurl[0],xpath)
            elif imgurl[1]=='png':
                xpath=path+'\%d.png' % x
                urllib.urlretrieve(imgurl[0],xpath)
            else:
                xpath=path+'\%d.jpg' % x
                urllib.urlretrieve(imgurl[0],xpath)
            x+=1
        print 'finish--------'
    
    if __name__=="__main__":
        app=QtGui.QApplication(sys.argv)
        main=Main_QWidget()
        main.show()
        sys.exit(app.exec_())
    



    展开全文
  • 原理:使用 jsoup 从 HTML 提取所有链接,批量下载某个网页所有图片
  • 压测时,图片太少,想着下载网页中图片,然后过滤指定分辨率,但网页中指定分辨率的图片太少了(见下) 后使用格式工厂转换图片 import urllib.request # 导入urllib模块 import re # 导入re模块 import os from...
  • 看过一篇关于下载网页中图片的文章,它只能下载以http头的图片,我做了些改进,可以下载网页中所有连接资源,并按照网页中的目录结构建立本地目录,存放资源。  download.asp?url=你要下载的网页 download.asp...

    下载网页中的所有资源

    看过一篇关于下载网页中图片的文章,它只能下载以http头的图片,我做了些改进,可以下载网页中的所有连接资源,并按照网页中的目录结构建立本地目录,存放资源。 
    download.asp?url=你要下载的网页

    download.asp代码如下

    <% 
    Server.ScriptTimeout=9999 
    function SaveToFile(from,tofile) 
    on error resume next 
    dim geturl,objStream,imgs 
    geturl=trim(from) 
    Mybyval=getHTTPstr(geturl) 
    Set objStream = Server.CreateObject("ADODB.Stream") 
    objStream.Type =1 
    objStream.Open 
    objstream.write Mybyval 
    objstream.SaveToFile tofile,2 
    objstream.Close() 
    set objstream=nothing 
    if err.number<>0 then err.Clear 
    end function

    function geturlencodel(byval url)'中文文件名转换 
    Dim i,code 
    geturlencodel="" 
    if trim(Url)="" then exit function 
    for i=1 to len(Url) 
    code=Asc(mid(Url,i,1)) 
    if code<0 Then code = code + 65536 
    If code>255 Then 
    geturlencodel=geturlencodel&"%"&Left(Hex(Code),2)&"%"&Right(Hex(Code),2) 
    else 
    geturlencodel=geturlencodel&mid(Url,i,1) 
    end if 
    next 
    end function 
    function getHTTPPage(url) 
    on error resume next 
    dim http 
    set http=Server.createobject("Msxml2.XMLHTTP") 
    Http.open "GET",url,false 
    Http.send() 
    if Http.readystate<>4 then exit function 
    getHTTPPage=bytes2BSTR(Http.responseBody) 
    set http=nothing 
    if err.number<>0 then err.Clear 
    end function

    Function bytes2BSTR(vIn) 
    dim strReturn 
    dim i,ThisCharCode,NextCharCode 
    strReturn = "" 
    For i = 1 To LenB(vIn) 
    ThisCharCode = AscB(MidB(vIn,i,1)) 
    If ThisCharCode < &H80 Then 
    strReturn = strReturn & Chr(ThisCharCode) 
    Else 
    NextCharCode = AscB(MidB(vIn,i+1,1)) 
    strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) 
    i = i + 1 
    End If 
    Next 
    bytes2BSTR = strReturn 
    End Function

    function getFileName(byval filename) 
    if instr(filename,"/")>0 then 
    fileExt_a=split(filename,"/") 
    getFileName=lcase(fileExt_a(ubound(fileExt_a))) 
    if instr(getFileName,"?")>0 then 
    getFileName=left(getFileName,instr(getFileName,"?")-1) 
    end if 
    else 
    getFileName=filename 
    end if 
    end function

    function getHTTPstr(url) 
    on error resume next 
    dim http 
    set http=server.createobject("MSXML2.XMLHTTP") 
    Http.open "GET",url,false 
    Http.send() 
    if Http.readystate<>4 then exit function 
    getHTTPstr=Http.responseBody 
    set http=nothing 
    if err.number<>0 then err.Clear 
    end function


    Function CreateDIR(ByVal LocalPath) '建立目录的程序,如果有多级目录,则一级一级的创建 
    On Error Resume Next 
    LocalPath = Replace(LocalPath, "\", "/") 
    Set FileObject = server.CreateObject("Scripting.FileSystemObject") 
    patharr = Split(LocalPath, "/") 
    path_level = UBound(patharr) 
    For I = 0 To path_level 
    If I = 0 Then pathtmp = patharr(0) & "/" Else pathtmp = pathtmp & patharr(I) & "/" 
    cpath = Left(pathtmp, Len(pathtmp) - 1) 
    If Not FileObject.FolderExists(cpath) Then FileObject.CreateFolder cpath 
    Next 
    Set FileObject = Nothing 
    If Err.Number <> 0 Then 
    CreateDIR = False 
    Err.Clear 
    Else 
    CreateDIR = True 
    End If 
    End Function

    function GetfileExt(byval filename) 
    fileExt_a=split(filename,".") 
    GetfileExt=lcase(fileExt_a(ubound(fileExt_a))) 
    end function

    function getvirtual(str,path,urlhead) 
    if left(str,7)="http://" then 
    url=str 
    elseif left(str,1)="/" then 
    start=instrRev(str,"/") 
    if start=1 then 
    url="/" 
    else 
    url=left(str,start) 
    end if 
    url=urlhead&url 
    end function

    展开全文
  • 压测时,图片太少,想着下载网页中图片,然后过滤指定分辨率,但网页中指定分辨率的图片太少了(见下)后使用格式工厂转换图片import urllib.request # 导入urllib模块import re # 导入re模块import osfrom PIL ...

    压测时,图片太少,想着下载网页中的图片,然后过滤指定分辨率,但网页中指定分辨率的图片太少了(见下)

    后使用格式工厂转换图片

    import urllib.request # 导入urllib模块

    import re # 导入re模块

    import os

    from PIL import Image

    htmlurl = 'http://www.win4000.com/wallpaper_detail_134824_3.html'

    downloadpath = 'C:\\Users\\yaowanjun\\Desktop\\img\\'

    def getHTML(htmlurl):

    req = urllib.request.urlopen(htmlurl)

    buf = req.read()

    return buf.decode('utf-8')

    def downloadImg(buf):

    req = r'src="(.+?\.jpg)"' #正则表达式,匹配图片格式

    imgreq = re.compile(req) #编译正则表达式

    imglist = re.findall(imgreq, buf)

    # print(imglist)

    x = 0

    if not os.path.isdir(downloadpath):#若没有则创建

    os.makedirs(downloadpath)

    paths = downloadpath

    for imgurl in imglist:

    f = open(paths + str(x) +'.jpg',"wb") #打开文件

    req = urllib.request.urlopen(imgurl)

    buf = req.read() #读出文件

    f.write(buf)

    f.close()

    x = x + 1

    return imglist

    def saveImg():

    for filenumber in os.walk(downloadpath):

    # print(filenumber[2])

    for files in filenumber[2]:

    # print(files)

    singleimg = Image.open(downloadpath + files)

    singleimg.close()

    #print(singleimg.size, singleimg.width, singleimg.height)

    if singleimg.size == (1920, 1080):

    print(singleimg)

    else:

    os.remove(downloadpath + files)

    buf = getHTML(htmlurl)

    downloadImg(buf)

    saveImg()

    执行结果:

    指定网页所有图片

    20180331104610.jpg

    不符合指定分辨率的图片删除后

    20180331104620.jpg

    以上这篇python获取网页中所有图片并筛选指定分辨率的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

    本文标题: python获取网页中所有图片并筛选指定分辨率的方法

    本文地址: http://www.cppcns.com/jiaoben/python/224217.html

    展开全文
  • 下载网页所有图片的最简单的方法

    万次阅读 2013-03-06 10:43:18
    下载网页所有图片的最简单的方法作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszsFirefox浏览器提供了一种下载网页所有图片的方法,操作非常简单。只需几步:第一步:用Firefox访问任意网站。比如...

    下载网页所有图片的最简单的方法

    作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

    Firefox浏览器提供了一种下载网页上所有图片的方法,操作非常简单。只需几步:

    第一步:用Firefox访问任意网站。
    比如访问http://www.qq.com/

    第二步:在页面上鼠标点击右键,选择“查看页面信息”。

    第三步:在弹出的页面信息对话框中选择“媒体”,所有的图片都会列出来。

    第四步:选择所有的图片或你需要的图片,再点击“另存为”按钮。


    选择图片的存放目录,确定。然后Firefox就会自动下载这些图片。


    最后,用资源管理器打开目录,可以看到,所有图片都已经下载完毕。


    展开全文
  • 压测时,图片太少,想着下载网页中图片,然后过滤指定分辨率,但网页中指定分辨率的图片太少了(见下)后使用格式工厂转换图片 import urllib.request # 导入urllib模块import re # 导入re模块import osfrom PIL ...
  • 压测时,图片太少,想着下载网页中图片,然后过滤指定分辨率,但网页中指定分辨率的图片太少了(见下)后使用格式工厂转换图片import urllib.request # 导入urllib模块import re # 导入re模块import osfrom PIL ...
  • 下午仿照网上例子写了个抓取网页中图片并保存到本地的Python的例子,好奇就google了下是否有类似的在线抓取图片的外挂工具。 接着就找到了Pseric写的这篇文章 -Image Cyborg 一键下载存储网页所有图片 ————...
  • // (下载网页中图片) // 用于发送http请求 const https = require('https') const http = require('http') // 用于提取网页中的img标签 const cheerio = require('cheerio') // 用于将http响应中的数据写到文件...
  • 闲来无事写的一个网页资源下载器,有时候一个网页中,含有很多超链接,其中有很多资源,比如: 视频/音频 图片 PDF文件 表格 其他超链接 那么怎么批量获取呢?如果需要编写一个高扩展、分布式的抓取框架,应该...
  • 近日疫情严重,手机已经玩吐了,闲着无聊逛衣服品牌官网发现,结果一时兴起,想学一学python,写一个爬虫下载官网所有最新上架的衣服图片和价格;说干就干,但身为一个只学过一些c和c++的python 0基础大二小白,csdn...
  • 我想来学习下,自己弄了运行抓取不全,知道的说下吧。 谢 谢了。
  • 看过一篇关于下载网页中图片的文章,它只能下载以http头的图片,我做了些改进,可以下载网页中所有连接资源,并按照网页中的目录结构建立本地目录,存放资源。 download.asp?url=你要下载的网页 download.asp...
  • 具体分析如下:这段代码分析网页中所有图片表单,分析后为其前后添加相应的修饰标签,并添加到图片的超级链接。复制代码 代码如下:result = value.replace("[ page ]","").replace(' ',u' ')p=re.compile(r'''(]*...
  • Chrono接管你在Chrome所有下载所有下载管理工作都在浏览器完成,而不需要安装另外的程序。Chrono与Chrome浏览器紧密地整合在一起,添加了对浏览器菜单、工具栏和快捷键的支持。除了高效管理下载任务,Chrono...
  • 一键抓取网页所有图片

    千次阅读 2019-07-11 11:27:55
    前一阵因为一个项目的爬取需求,用python3写了个爬取网页图片的工具,中间碰到了不少问题,例如不同网页图片地址格式不同,存放位置也不尽相同,就很让人头疼,趟了不少雷还好都解决了,客户是IT小白,所以操作...
  • console 定义以下两个函数 function saveFile(data, filename) { var save_link = document.createElementNS( 'http://www.w3.org/1999/xhtml' , 'a' ); save_link.href = data; save_link.download = filename...
  • ImageBox网页图片批量下载器是一款输入任一网页地址即可批量抓取和下载网页所有图片的软件,支持防盗链图片抓取,支持将抓取的图片即时浏览,支持图片自动存储到自已的邮箱。 程序简介:输入任一网页地址即可...
  • 在osChina上看到的一个小例子,直接运行有问题,就利用beautifulSoup给修改了下,#-*- coding: UTF-8 -*-import ...在网站获取所有内容u...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 765
精华内容 306
关键字:

下载网页中所有图片