Python实现的批量下载RFC文档_python

RFC文档有很多,有时候在没有联网的情况下也想翻阅,只能下载一份留存本地了。
看了看地址列表,大概是这个范围:
http://www.networksorcery.com/enp/rfc/rfc1000.txt
...
http://www.networksorcery.com/enp/rfc/rfc6409.txt

哈哈,很适合批量下载,第一个想到的就是迅雷……
可用的时候发现它只支持三位数的扩展(用的是迅雷7),我想要下的刚好是四位数……
郁闷之下萌生自己做一个的想法!
这东西很适合用python做,原理很简单,代码也很少,先读为快。
代码如下:

复制代码 代码如下:

#! /usr/bin/python
'''
  File      : getRFC.py
  Author    : Mike
  E-Mail    : Mike_Zhang@live.com
'''
import urllib,os,shutil,time

def downloadHtmlPage(url,tmpf = ''):
    i = url.rfind('/')
    fileName = url[i+1:]
    if tmpf : fileName = tmpf
    print url,"->",fileName
    urllib.urlretrieve(url,fileName)
    print 'Downloaded ',fileName   
    time.sleep(0.2)
    return fileName
   
# http://www.networksorcery.com/enp/rfc/rfc1000.txt
# http://www.networksorcery.com/enp/rfc/rfc6409.txt
if __name__ == '__main__':
    addr = 'http://www.networksorcery.com/enp/rfc'   
    dirPath = "RFC"
    #startIndex = 1000
    startIndex = int(raw_input('start : '))
    #endIndex = 6409
    endIndex = int(raw_input('end : '))
    if startIndex > endIndex :
        print 'Input error!'       
    if False == os.path.exists(dirPath):
        os.makedirs(dirPath)   
    fileDownloadList = []
    logFile = open("log.txt","w")
    for i in range(startIndex,endIndex+1):
        try:           
            t_url = '%s/rfc%d.txt' % (addr,i)
            fileName = downloadHtmlPage(t_url)
            oldName = './'+fileName
            newName = './'+dirPath+'/'+fileName
            if True == os.path.exists(oldName):
                shutil.move(oldName,newName)
                print 'Moved ',oldName,' to ',newName
        except:
            msgLog = 'get %s failed!' % (i)
            print msgLog
            logFile.write(msgLog+'\n')
            continue
    logFile.close()

除了RFC文档,这个程序稍加修改也可以做其它事情:比如批量下载MP3、电子书等等。

好,就这些了,希望对你有帮助。

时间: 2024-07-28 23:51:26

Python实现的批量下载RFC文档_python的相关文章

DBF数据库如何批量转Word文档?

  DBF数据库中的数据怎样转到WORD文档中?手工进行复制粘贴需要耗费不少时间精力,其实,一段小小的代码可以解决问题.你只需照搬即可.下面就为你详细介绍DBF数据库批量转Word文档教程. 笔者在近期的工作中,定期需要对一些文档信息进行归类整理,并利用Visual FoxPro 制作成DBF数据表文件,同时还需要根据该数据表导出Excel文档,并且制作Word文档信息表进行打印输出.由于DBF数据表的表结构以及Word文档中表格字段都是固定的,加上每次整理的文档信息数量颇大,手工进行复制粘贴需

怎么批量导出Word文档中所有图片

  怎么批量导出Word文档中所有图片          1.打开要导出图片的Word文档,单击"文件"按钮,选择"另存为",然后在计算机中选择一个存放位置,以"桌面"为例. 2.弹出"另存为"对话框,在其中将"保存类型"设置为网页,然后保存. 3.选择保存的位置会出现一个与网页同名的文件夹,它里面就有Word中所有用到的图片,每张图片有PNG以及源格式共两种格式!

批量删除Excel文档中的超级链接

我们在对Excel表格进行操作的时候,经常发现有超级链接.但如果因为某种原因不想保留超级链接,就需要手动进行删除.如果要是只删除一个超级链接非常简单,将鼠标放到超级链接上,然后按鼠标右键,选择"取消超链接"即可(图1). 但这种方法不能批量删除Excel文档中的超级链接,如果想将文档中的所有超级链接都删除,该如何处理?这里教给大家一个小窍门,可以快速批量删除Excel中的超级链接. 图1:删除单个超级链接非常简单 首先在Excel表格中全选,然后点击工具栏上的"插入超链接&q

使用宏命令批量删除Excel文档超链接

在Excel文档中,当在单元格中输入的内容包括网址或电子邮箱地址时,程序会自动将其变成超级链接.如果要删除的超链接比较多,一个个手工处理显然效率太低,可以使用宏命令来批量删除Excel文档中的超链接. 按下"Alt+F8"打开宏窗口,在"宏名"处输入一个名称后单击"创建",然后在Sub与End Sub之间输入"Cells.Hyperlinks.Delete",保存创建的宏后返回Excel.打开"工具"菜单下

如何批量删除Excel文档中的超级链接?

  我们在对Excel表格进行操作的时候,经常发现有超级链接.但如果因为某种原因不想保留超级链接,就需要手动进行删除.如果要是只删除一个超级链接非常简单,将鼠标放到超级链接上,然后按鼠标右键,选择"取消超链接"即可(图1). 但这种方法不能批量删除Excel文档中的超级链接,如果想将文档中的所有超级链接都删除,该如何处理?这里教给大家一个小窍门,可以快速批量删除Excel中的超级链接. 图1:删除单个超级链接非常简单 首先在Excel表格中全选,然后点击工具栏上的"插入超链接

百度文库下载的文档保存在哪里

  1.首先,需要找到您需要下载的文档,打开该文件的文库地址,然后向下拉,就会在右下角看到下载地址按钮. 2.点击[下载]按钮,就会看到弹出的下载框,由于文本是免费的,我们直接下载就可以了. 3.点击下载按钮,就可以下载了. 百度文库下载的文档保存在哪里? 4.继续上边的步骤,会弹出下载对话框. 5.点击[保存]按钮,就可以选择保存的位置了,小编选择了D盘temp目录,您可以根据需要自己选择要保存的目录

java-测试下载接口文档方法

问题描述 测试下载接口文档方法 有个测试下载的接口,需要输入一条数据然后才能下载一个文档.要下载近千个,这个用什么工具比较好.或者用什么方法比较方便? 解决方案 直接写一个while循环,循环体中写一个http请求,参数是要输入的数据

百度文库下载的文档保存在哪里?

1.我们在百度去搜索"百度文库"进入. 文档保存在哪里?-百度文库">2.然后我们利用百度帐号登录之后再去下载了,不登录不能下载哦. 3.然后我们登录了就可以开始下载我们要下载的文件了,可以使用搜索功能. 4.然后我们找到要下载的文档之后我们点击综 5.打开文档后,找到文档底部的下载按钮点击下载. 6.点击下载后,弹出下载窗口,点击"立即下载"即可,然后弹出保存选项框,这里我们自己选择就可以了,然后下载好了到刚才我们选择保存文档的地方寻找即可. 友情

怎么批量删除Word文档中图片?

1.我们这里以Word2007为例子了,我们打开Word2007文档,然后只要按下Ctrl+H键,打开查找与替换对话框. 2.在替换标签中,我们点击"更多"然后会打开一些关于搜索选项和替换,如下所示我们找到"特殊格式"了,细节如下. 3.然后在弹出查找替换界面中我们点击"图形"效果,如下所示. 4.此时查找内容中会自动填充^g,替换为中不写入任何东西,单击全部替换按钮,完成替换之后会告诉你结果. 5.好了执行之后如果你word中有千万张照片就这样