返回顶部

收藏

批量下载文件

更多
#!/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]

标签:python

收藏

0人收藏

支持

0

反对

0

»更多 您可能感兴趣的代码
  1. 2017-12-06 09:23:38五子棋 by jack.chen
  2. 2017-12-05 12:31:27配置文件备份 by wubai
  3. 2017-12-05 09:35:25python 学习,使用类模拟购物车代码 by 阿明娃儿
  4. 2017-12-04 16:38:15Python有道字典 by jack.chen
  5. 2017-12-03 15:08:33九九乘法表 by 蟋蟀MM
  6. 2017-12-02 15:13:05python验证文件是否可读可写 by 张宋付
  7. 2017-12-02 10:00:23python ftplib模块制作ftp客户端 by wubai
  8. 2017-12-01 17:02:31Python使用剪切板代码 by wubai
  9. 2017-12-01 09:28:31python使用sqlite3的简单代码 by 西国の海妖
  10. 2017-12-01 09:16:27python邮件发送 by jack.chen
  11. 2017-12-06 09:44:02批量下载文件 by 西国の海妖
相关聚客文章
  1. 小码哥 发表 2017-11-07 08:00:25 Python中的时间处理大总结
  2. 小码哥 发表 2017-11-07 08:19:22 如何快速爬取B站全站视频信息
  3. Gavin 发表 2017-11-06 10:01:37 Python批量给云主机配置安全组
  4. Gavin 发表 2017-11-06 10:06:40 如何使用pdb工具来调试python脚本?
  5. 博主 发表 2017-11-05 04:08:13 C语言实现的Python扩展模块
  6. 博主 发表 2017-11-04 14:40:16 Python 3 极简教程 之 基本数据类型
  7. zhu329599788@126 发表 2017-10-18 09:48:23 打印杨辉三角(python版)
  8. 小码哥 发表 2017-11-04 05:45:55 如何通过Python/Shell对HTTP服务状态的监控?
  9. techug 发表 2017-11-02 03:36:46 用Python复制文件的九种方法
  10. techug 发表 2017-11-03 03:46:27 python奇技淫巧
  11. gonwan 发表 2016-01-11 12:52:41 Coroutines in Python
  12. Charles 发表 2016-12-24 12:25:13 在 CentOS 6.8 上安装 Python 2.7

发表评论