I code it

Code and Life

一个英语学习站点和一个小脚本

英语事实上已经成为了一个优秀程序员的必须掌握的工具,如同编辑器,调试工具等一样,甚至更重要。因为我们的新知识的很多都是通过阅读,收听其他优秀的资源而获得,而英文是一个计算机界通用的语言,其重要性毋庸赘言。

我的英文水平大约在CET4级,而读写能力可能稍微好一点,听说则一塌糊涂。但是我意识到这是个问题的时候,就需要采取一些actions来解决这个问题。目前在的这个项目,客户是澳洲的,所以就从澳大利亚英语开始(澳洲英语与我们从中学到大学学习的美式英语还是有一些差异的,发音,惯用语等等)。

这里推荐一个比较好的资源,australianetwork,其中有很多之前的资源可供下载。你可以根据自己的需求下载不同的资源,比如BusinessEnglish,Passport等。下载链接在这里

可能你已经注意到了,下载到的是xml格式的文件(rss),我用python写了一个小脚本,用来抽取xml中的真是url,并调用wget下载到本地,脚本很简单:

   1: import os
   2: import sys 
   3: import threading
   4:  
   5: from elementtree.ElementTree import parse
   6:  
   7: class ViedoDownloader(threading.Thread):
   8:     def __init__(self, url):
   9:         threading.Thread.__init__(self)
  10:         self.url = url 
  11:  
  12:     def run(self):
  13:         os.system('wget ' + self.url)
  14:  
  15: if __name__ == "__main__":
  16:     if not len(sys.argv) == 2:
  17:         sys.exit(-1)
  18:  
  19:     rssfile = sys.argv[1]
  20:     print "extract urls from " + rssfile
  21:  
  22:     rss = parse(rssfile)
  23:     for element in rss.findall('channel/item/enclosure'):
  24:         th = ViedoDownloader(element.get('url'))
  25:         th.start()

 

当一个xml中资源非常多的时候,我想使用多个线程,每个线程启动一个wget来分别下载,但是它并没有像我预期的那样工作。

如果你发现了什么问题,请告诉我,但是这个脚本确实是一个可以工作的脚本:

   1: python extract.py resourse.xml

Comments