亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python實現批量下載文件

系統 2306 0

Python實現批量下載文件

            
#!/usr/bin/env python
# -*- coding:utf-8 -*-

from gevent import monkey
monkey.patch_all()
from gevent.pool import Pool
import requests
import sys
import os

def download(url):
 chrome = 'Mozilla/5.0 (X11; Linux i86_64) AppleWebKit/537.36 ' + 
 '(KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36'
 headers = {'User-Agent': chrome}
 filename = url.split('/')[-1].strip()
 r = requests.get(url.strip(), headers=headers, stream=True)
 with open(filename, 'wb') as f:
 for chunk in r.iter_content(chunk_size=1024):
 if chunk:
f.write(chunk)
f.flush()
 print filename,"is ok"

def removeLine(key, filename):
 os.system('sed -i /%s/d %s' % (key, filename))

if __name__ =="__main__":
 if len(sys.argv) == 2:
 filename = sys.argv[1]
 f = open(filename,"r")
 p = Pool(4)
 for line in f.readlines():
 if line:
 p.spawn(download, line.strip())
 key = line.split('/')[-1].strip()
 removeLine(key, filename)
f.close()
p.join()
else:
 print 'Usage: python %s urls.txt' % sys.argv[0]

          

其他網友的方法:

            
from os.path import basename
from urlparse import urlsplit
def url2name(url):
  return basename(urlsplit(url)[2])

def download(url, localFileName = None):
  localName = url2name(url)
  req = urllib2.Request(url)
  r = urllib2.urlopen(req)
  if r.info().has_key('Content-Disposition'):
    # If the response has Content-Disposition, we take file name from it
    localName = r.info()['Content-Disposition'].split('filename=')[1]
    if localName[0] == '"' or localName[0] == "'":
      localName = localName[1:-1]
  elif r.url != url:
    # if we were redirected, the real file name we take from the final URL
    localName = url2name(r.url)
  if localFileName:
    # we can force to save the file as specified name
    localName = localFileName
  f = open(localName, 'wb')
  f.write(r.read())
  f.close()

download(r'你要下載的python文件的url地址')
          

以上便是本文給大家分享的全部內容了,小伙伴們可以測試下哪種方法效率更高呢。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 毛片免费高清免费 | 色天使色婷婷在线影院亚洲 | 欧美日韩色 | 欧美xo影院 | 国产精品嫩草研究所永久网址 | 免费大片黄在线观看yw | 天天射夜夜操 | 最新国产午夜精品视频成人 | 97视频在线观看视频在线精品 | 欧美黑人喷潮水xxxx | 在线婷婷 | 国产一区二区三区久久精品小说 | 成人国产精品视频频 | aaaa级日本片免费视频 | 久久草在线免费 | 亚洲夜夜骑| 久久婷婷色一区二区三区 | 国产一区二区三区精品视频 | 思99热精品久久只有精品 | 国产成人一区二区视频在线观看 | 老子影院午夜伦手机在线看 | 日本大胆一区免费视频 | 日韩欧美一级毛片精品6 | 国产精品亚洲一区二区在线观看 | 不卡视频在线播放 | 国产成人啪午夜精品网站 | 老司机福利在线播放 | 久一视频在线观看 | 久久久精品视频在线观看 | 久久草视频在线 | 97精品伊人 | 一区二区三区精品视频 | 91麻精品国产91久久久久 | 99re6在线视频免费精品 | 97综合视频 | 精品美女在线 | 欧美激情 在线 | 国产成人欧美一区二区三区的 | 亚洲男女在线 | 日本高清在线一区二区三区 | 国产成年人网站 |