python成长日记1:使用python访问网站,下载图片

用最简单的语句,实现最实用的功能

一起学习PYTHON@小脸龙


工作了三个月,终于收拾了一下自己的懒劲,甩掉一大堆的理由,再次分享自己的学习心得,开个专题,和大家一起学python,收罗最简单的命令,实现最实用的功能,本人初学者,如有谬误望多多指正。


介绍一下开发环境:Ubuntu 11.04 , Sublime2 , Python2.7


涉及到的库: os , urllib 

import os
os.listdir('./')   #显示'./'当前路径下的文件与文件夹
os.chdir('/home') #切换路径至home目录
os.getcwd()  #获取当前路径

当然,os库还有很多,具体可以参看Python Docs 上述是可能需要的几个API

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()

4 测试

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


python成长日记1:使用python访问网站,下载图片_第1张图片


好啦,福利拿好 ,收工睡觉,明天有时间再尝试下载在线小说,为宅男创造福利啦






你可能感兴趣的:(python,下载图片,python学习日记,下载漫画)