您的位置:首页 > 编程语言 > Python开发

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

2013-07-23 00:06 721 查看
用最简单的语句,实现最实用的功能

一起学习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 首先,找一个漫画网站,确定可以找到图片的链接,并不容易,现在很多都没有将图片地址写在代码里。通过谷歌图片着,还是被我找到一个:_Vol_1/1.jpg]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



好啦,福利拿好 ,收工睡觉,明天有时间再尝试下载在线小说,为宅男创造福利啦
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: