用最简单的语句,实现最实用的功能
一起学习PYTHON@小脸龙
工作了三个月,终于收拾了一下自己的懒劲,甩掉一大堆的理由,再次分享自己的学习心得,开个专题,和大家一起学python,收罗最简单的命令,实现最实用的功能,本人初学者,如有谬误望多多指正。
介绍一下开发环境:Ubuntu 11.04 , Sublime2 , Python2.7
涉及到的库: os , urllib
import os os.listdir('./') #显示'./'当前路径下的文件与文件夹 os.chdir('/home') #切换路径至home目录 os.getcwd() #获取当前路径
import urlib ufile = urllib.urlopen(url) # 获取一个网络连接对象 info = ufile.info() # url 内容相关的meta-info if info.gettype() == 'text/html': #获取网站相应类型内容 urlhandler= urllib.URLopener() #创建一个urlopen实例 urlhandler.retrieve(url,filename); #获取url并保存为filename返回
目标:找个动漫网站去下一本漫画书
实现:
1 首先,找一个漫画网站,确定可以找到图片的链接,并不容易,现在很多都没有将图片地址写在代码里。通过谷歌图片着,还是被我找到一个:http://www.acmoe.com/comicdata/2943/%E6%9C%AA%E5%A9%9A%E5%85%B3%E7%B3%BB[%E9%9D%92%E5%87%BA%E4%BA%8E%E8%93%9D]_Vol_1/1.jpg
也就是说,到时候就把第一卷全部下下来。
2 还有就是要考虑404错误,一卷的数量是有限的,超过会报404,因此要加入错误处理
3 上代码:
import sys import os import urllib def downloadCatoon(url,dir,vol,catoontype='jpg'): VolMax = 200 #最大页数 catoonnum = 1 os.chdir(dir)#移至dir目录下 os.mkdir(vol)#创建vol1 ,2 ,... os.chdir(os.path.join(dir, vol)) #进入该目录 for i in range(VolMax): image = urllib.URLopener() catoonname = str(catoonnum + i) + '.' + catoontype try: image.retrieve(url + catoonname, catoonname) pass except IOError: #当遇到错误。 print 'job done' break def main(): args = sys.argv[1:] downloadCatoon(args[0], args[1], args[2]) if __name__ == '__main__': main()
python downloadCartoon.py http://www.acmoe.com/comicdata/2943/%E6%9C%AA%E5%A9%9A%E5%85%B3%E7%B3%BB[%E9%9D%92%E5%87%BA%E4%BA%8E%E8%93%9D]_Vol_1/ ./ vol1
好啦,福利拿好 ,收工睡觉,明天有时间再尝试下载在线小说,为宅男创造福利啦