精华内容
下载资源
问答
  • 这里绿茶小编就来跟大家分享下使用Python批量下载图片方法。目标:爬取某个网站上n多页的链接,每个链接有n多张图片,每一页对应一个文件夹,每个文件夹包含n个链接所对应的文件夹。步骤1:获得网页的所有链接,访问...

    很多朋友在网上查找批量下载图片的方法~发觉挺凌乱的,无从下手。这里绿茶小编就来跟大家分享下使用Python批量下载图片方法。

    目标:爬取某个网站上n多页的链接,每个链接有n多张图片,每一页对应一个文件夹,每个文件夹包含n个链接所对应的文件夹。

    步骤1:获得网页的所有链接,访问所有链接,获得链接里的图片地址。

    步骤2:根据图片地址下载图片。

    下载jpg格式的图片其实很容易。

    1 socket = urllib2.urlopen(url)

    2 data = socket.read()

    3 with open(path, “wb“) as jpg:

    4 jpg.write(data)

    5 socket.close()

    其中url为图片地址,path为保存路径。

    完成这一步之后,简单的批量下载图片功能就完成了。

    但是,下载的过程中有几个问题。

    1、下载速度慢。

    我们打开网站的时候看到图片的速度在网速不是太慢的情况下其实也不慢,但是用这种方法下载一张图片要等很久,有时却很快。

    2、下着下着就卡在那里了。

    它就是卡在那里了,不知道要等到什么时候报错。

    后改进如下。

    1 #设定超时时间,单位为秒,放在程序开头即可

    2 timeout = 60

    3 socket.setdefaulttimeout(timeout)

    4

    5 #下载图片的时候

    6 time.sleep(10)#先sleep,再读取数据

    7 socket = urllib2.urlopen(urllib2.Request(imgurl))

    8 data = socket.read()

    9 socket.close()

    10 …

    其实这个改进当时在程序中的体现不是很明显,但是后来我又加入了一个东西:多线程。

    python的多线程有几种方法可以实现,通过这篇博文可以对此有所了解。

    在这里我采用继承threading.Thread的方法实现多线程。

    重载run方法。我这里是每下载一个图片就开一个线程(好像不是太好,囧……)。

    1 thread = Download()

    2 thread.imgurl = imgurl

    3 thread.path = path

    4 thread.start()

    这个多线程用上以后,整个程序简直就像开足了马力,开始大力地下载。没一会功夫就下载了100多M的图片!

    其实我一开始是有顾虑一个问题的,就是为什么线程sleep的时候能够偷偷地占用系统的时间?看看这篇文章的实验。

    也就是说,10条线程每个sleep10秒,结果也只是花了差不多10秒的时间。

    图片的下载速度很快,虽然中途有一些处理异常的网址,但是速度飞一般的快。(后来增加了一些异常处理)

    很快,开始出现异常了,大量的图片下载失败。

    研究了很久之后才发现,存储空间不足……

    于是,搬到一个10G空闲的分区,开始下载,改善异常处理。

    最终完成目标的时候大概完成了8G的下载量。不知道是不是流量太大了,今天老是断网……

    同时尝试了视频的下载,这个功能还有待发掘。

    教程到此结束~希望对大家有所帮助~

    展开全文
  • 网页下载安装python总是出错,之后我就在Microsoft store里面安装了python,直接就成功了,更新了下pip现在python和pip都有,就是ipython不行,因为我看配置环境变量需要script文件夹...
  • 目标:爬取某个网站上n多页的链接,每个链接有n多张图片,每一页对应一个文件夹,每个文件夹包含n个链接所对应的文件夹。步骤1:获得网页的所有链接,访问所有链接,获得链接里的图片地址。步骤2:根据图片地址下载...

    20121099355256800.jpg

    目标:爬取某个网站上n多页的链接,每个链接有n多张图片,每一页对应一个文件夹,每个文件夹包含n个链接所对应的文件夹。

    步骤1:获得网页的所有链接,访问所有链接,获得链接里的图片地址。

    步骤2:根据图片地址下载图片。

    下载jpg格式的图片其实很容易。

    1 socket = urllib2.urlopen(url)

    2 data = socket.read()

    3 with open(path, “wb“) as jpg:

    4 jpg.write(data)

    5 socket.close()

    其中url为图片地址,path为保存路径。

    完成这一步之后,简单的批量下载图片功能就完成了。

    但是,下载的过程中有几个问题。

    1、下载速度慢。

    我们打开网站的时候看到图片的速度在网速不是太慢的情况下其实也不慢,但是用这种方法下载一张图片要等很久,有时却很快。

    2、下着下着就卡在那里了。

    它就是卡在那里了,不知道要等到什么时候报错。

    后改进如下。

    1 #设定超时时间,单位为秒,放在程序开头即可

    2 timeout = 60

    3 socket.setdefaulttimeout(timeout)

    4

    5 #下载图片的时候

    6 time.sleep(10)#先sleep,再读取数据

    7 socket = urllib2.urlopen(urllib2.Request(imgurl))

    8 data = socket.read()

    9 socket.close()

    10 …

    其实这个改进当时在程序中的体现不是很明显,但是后来我又加入了一个东西:多线程。

    python的多线程有几种方法可以实现,通过这篇博文可以对此有所了解。

    在这里我采用继承threading.Thread的方法实现多线程。

    重载run方法。我这里是每下载一个图片就开一个线程(好像不是太好,��……)。

    1 thread = Download()

    2 thread.imgurl = imgurl

    3 thread.path = path

    4 thread.start()

    这个多线程用上以后,整个程序简直就像开足了马力,开始大力地下载。没一会功夫就下载了100多M的图片!

    其实我一开始是有顾虑一个问题的,就是为什么线程sleep的时候能够偷偷地占用系统的时间?看看这篇文章的实验。

    也就是说,10条线程每个sleep10秒,结果也只是花了差不多10秒的时间。

    图片的下载速度很快,虽然中途有一些处理异常的网址,但是速度飞一般的快。(后来增加了一些异常处理)

    很快,开始出现异常了,大量的图片下载失败。

    研究了很久之后才发现,存储空间不足……

    于是,搬到一个10G空闲的分区,开始下载,改善异常处理。

    最终完成目标的时候大概完成了8G的下载量。不知道是不是流量太大了,今天老是断网……

    同时尝试了视频的下载,这个功能还有待发掘。

    教程到此结束~希望对大家有所帮助~

    展开全文
  • def save_mp3(mp3_path, mp3_name, url):#路径,名称,下载网址 if not os.path.exists(mp3_path):#创建文件夹 os.makedirs(mp3_path) else: try: resp = requests.get(url) if ...
    def save_mp3(mp3_path, mp3_name, url):#路径,名称,下载网址
        if not os.path.exists(mp3_path):#创建文件夹
            os.makedirs(mp3_path)
    
        else:
            try:
                resp = requests.get(url)
                if resp.status_code == 200:
                    file_path = mp3_path + os.path.sep + '{mp3_name}'.format(mp3_name=mp3_name + ".pdf")
                    #文件名称
                    print(file_path)
                    if not os.path.exists(file_path):
                        with open(file_path, 'wb') as f:
                            f.write(resp.content)
                        print('Downloaded autio path is %s' % file_path)
                    else:
                        print('Already Downloaded', file_path)
            except requests.ConnectionError:
                print('Failed to Save mp3,item %s' % mp3_name)

     

    展开全文
  • Python网页爬虫及资源下载

    千次阅读 2018-01-16 09:15:08
    问题 本代码是用于下载...首先使用Chorme的调试工具查看该网页的源代码,然后编写python脚本对所有文字进行下载。 代码 import os import requests from urllib.request import urlope

    问题

    本代码是用于下载http://openaccess.thecvf.com/ICCV2017.py上的论文,并将其按照论文名将其保存到不同的文件夹下。

    思路

    首先使用Chorme的调试工具查看该网页的源代码,然后编写python脚本对所有文字进行下载。

    代码

    import os
    import requests
    from urllib.request import urlopen
    from bs4 import BeautifulSoup
    import ssl
    
    # Ignore SSL certificate errors
    ctx = ssl.create_default_context()
    ctx.check_hostname = False
    ctx.verify_mode = ssl.CERT_NONE
    
    #下载网页,并将其保存在本地
    #enter the url
    url = input('Enter Url:')
    html = urlopen(url, context=ctx).read()
    
    #使用beautifulsoup解析网页元素,并将需要的节点找到
    #parse the html
    soup = BeautifulSoup(html, "html.parser")
    # Retrieve all of the anchor tags
    paper_name = soup('dt')
    paper_link = soup('dd')
    
    #下载资源的保存路径
    #enter the director
    paper_directory = input('Enter Directory:')
    if(paper_directory==""):
        paper_directory = os.getcwd()
    
    #纯粹为了标记要下载的范围,不能一次下载太多    
    #enter begin index
    print("paper count:",len(paper_name))
    begin_index = input('begin index:')
    #enter end index
    end_index = input('end_index:')
    
    #save the paper have video
    paper_had_video = list()
    
    #下载
    for i in range(int(begin_index)-1,int(end_index)):
        print("downloading:",paper_name[i].a.string) 
    
        #file save_dir
        file_save_dir=""
    
        links = paper_link[2*i+1].find_all('a')
        for j in range(len(links)-1):
            if(links[j].string=='pdf'):
                file_save_dir = paper_directory+str(i+1)+"-"+os.path.basename(links[j]['href']).split('.')[0]
    
                #making dir
                os.mkdir(file_save_dir)
    
                pdf_url = "http://openaccess.thecvf.com/"+links[j]['href']
                pdf_file = requests.get(pdf_url, stream=True)
                with open(file_save_dir+"/"+os.path.basename(links[j]['href']), "wb") as pdf:
                    for pdf_chunk in pdf_file.iter_content(chunk_size=1024):
                        if pdf_chunk:
                            pdf.write(pdf_chunk)
                continue
            if(links[j].string=='supp'):
                supp_url = "http://openaccess.thecvf.com/"+links[j]['href']
                supp_file= requests.get(supp_url, stream=True)
                with open(file_save_dir+"/"+os.path.basename(links[j]['href']), "wb") as supplement:
                    for supplement_chunk in supp_file.iter_content(chunk_size=1024):
                        if supplement_chunk:
                            supplement.write(supplement_chunk)
                continue
            if(links[j].string=='video'):
                paper_had_video.append(paper_name[i].a.string)
                continue
    
    
    #print out all the paper need video
    print("Paper need download video:")
    for i in range(len(paper_had_video)):
        print(paper_had_video[i])
    

    注意

    本博客的一切目的均以学习为目的。

    展开全文
  • python批量下载网页图片及列表

    千次阅读 2017-09-17 16:54:44
    背景: 放假在家里没事鼓捣了一个用python实现的简单...,海报详情页面地址,海报缩略图地址)通过正则匹配提取出来,然后写入到filed='python_load_demo.txt'中,然后把第一个海报缩略图下载文件夹imgpath = "pytho
  • 按照不同的情况,python下载文件可以分为三种:小文件下载大文件下载批量下载python 小文件下载流程:使用request.get请求链接,返回的内容放置到变量r中,然后将r写入到你想放的地方。Python小文件下载流程以下载...
  • #下载网页文件到本地文件夹 import os,urllib2,urllib #设置下载后存放的存储路径'C:\Users\yinyao\Desktop\Python code' path=r'C:\Users\yinyao\Desktop\Python code' file_name=r'MSFT.csv' #文件名,包含...
  • """...DESC 下载指定网页的图片到指定文件夹 """ import requests import os from urllib import request import re res = request.urlopen("http://www.27...
  • 实现效果:通过url所绑定的关键名创建目录名,每次访问一个网页url后把文件下载下来 代码: 其中 data[i][0]、data[i][1] 是代表 关键词(文件保存目录)、网站链接(要下载文件的网站) def getDriverHttp(): for i ...
  • Python报错:No module named ‘tensorflow.examples.tutorials + 单个GitHub文件夹下载办法Step1Step2Step3Step4 Step1 查看E:\anaconda3\envs\pytorch\Lib\site-packages\tensorflow_core\examples目录下是否有...
  • python 生成iOS plist ,python抓去网页数据 因为是MAC电脑,所以自动安装了Python 2.7的版本 添加一个 库 Beautiful ...2.手动下载包后,终端切换到 解压的文件夹,输入 sudo python setup.py install 下载地址Beauti
  • 实现效果:通过url所绑定的关键名创建目录名,每次访问一个网页url后把文件下载下来 代码: 其中 data[i][0]、data[i][1] 是代表 关键词(文件保存目录)、网站链接(要下载文件的网站) def getDriverHttp(): for ...
  • 搬自大神boyXiong的干货! 闲来无事,看看了Python,发现这东西挺爽的,废话少说,就是干 准备搭建环境 ...因为是MAC电脑,所以自动安装了Python 2.7的版本 ...2.手动下载包后,终端切换到 解压的文件夹,输入...
  • python下载文件

    2019-09-28 15:29:51
    获取网页地址,下载到本地文件夹 import requests import code url = "http://data.5sing.kgimg.com/G140/M04/06/13/zA0DAFurVAuAdpq3AI0OnoTrpZU650.mp3"; print ("downloading with urllib") r = requests....
  • pyton3.5,selenium,phantomjs我的电脑里面已经装好了python3.5安装Seleniumpip3 install selenium安装Phantomjs按照系统环境下载phantomjs,下载完成之后,将phantomjs.exe解压到python的script文件夹下使用selenium+...
  • python下载you-get pip install you-get 找到视频存放文件夹进行如下操作,回车 进行以下操作 1、you-get -i [链接] //链接是视频所在网页的链接 2、根据自己的情况按照图中 1,2选择其中一种下载 ...
  • 分析需求分析网页源代码,配合开发者工具编写正则表达式或者XPath表达式正式编写 python 爬虫代码效果预览运行效果如下:存放图片的文件夹:需求分析我们的爬虫至少要实现两个功能:一是搜索图片,二是自动下载。...
  • Python爬取COS网页全部图片

    千次阅读 多人点赞 2020-07-14 13:01:35
    Python爬取网页图片 一、爬取的网站内容 ...(2)抓取一系列图片,并将图片按页面标题建立文件夹分类存入,存入时根据下载先后顺序排序。 (3)抓取内容的命名与抓取内容相衔接。 (4)使用了反爬技术 (5)与同
  • python爬虫得图片并保存到文件夹

    千次阅读 2018-03-29 16:48:53
    转载自https://www.cnblogs.com/xuchao/p/6087676.html1.观察网页,找到img标签2....通过urllib的urllib.urlretrieve来下载图片并且放进文件夹里面(第一之前的准备工作就是获取当前路径然后新建一个文件夹)5.如...
  • 按照系统环境下载phantomjs,下载完成之后,将phantomjs.exe解压到python的script文件夹下 使用selenium+phantomjs实现简单爬虫 from selenium import webdriver driver = webdriver.PhantomJS() driver.get('...
  • python下载网易云MV

    2017-12-09 23:31:17
    1、这篇文章是一个小示例,思路是获取网易云MV的下载url,再使用with open下载到本地文件夹。 2、笔者下载是的薛之谦刚刚好mv,网页地址是:http://music.163.com/#/mv?id=5302569 笔者使用的360极速浏览器,打开...
  • 参考:Python:在网页中查找字符串的一般方法--in 参考:python怎么安装requests 参考:Requests 快速上手 操作步骤如下: 添加环境变量,将 python 所在文件夹添加至系统变量 下载 requests 模块(python...
  • 本代码的功能是输入画师的pixiv id,下载画师的所有插画。由于本人水平所限,所以代码不能实现自动登录pixiv,需要在运行时手动输入网站的cookie值。 重点:请求头 分析 创建文件夹 根据画师的id创建文件夹(相关...
  • 4.通过urllib的urllib.urlretrieve来下载图片并且放进文件夹里面(第一之前的准备工作就是获取当前路径然后新建一个文件夹) 5.如果有多张图片,不断的重复3-4 由于爬虫写得少,通过自己的调试...
  • Python实现Github下载工具

    千次阅读 2018-07-12 21:55:02
    并且不能一次性下载一个文件夹,downzip有时候却是下载失败(当然通常情况还是挺好用的),参考大神的第三种方法,找raw文件地址,我这里通过Python爬虫自动完成整个网页中文档或文件夹下载 import requests import re...
  • 上一篇的 python 网络爬虫...【2】对页面的下载,放到特定的文件夹中 【3】下载请求用gzip形式下载到本地解压,降低网络资源负荷 python每一时刻只能处理一个线程,多线程有的时候因为切换线程而拖慢速度,但是为什

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 288
精华内容 115
关键字:

python下载网页文件夹

python 订阅