├── pictures └── 哈哈_1.jpg ├── README.md └── PicDownloader.py /pictures/哈哈_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hk029/Pickup/HEAD/pictures/哈哈_1.jpg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Pickup 2 | 3 | ##介绍 4 | Pickup是一个自动下载图片的程序 5 | 6 | 7 | 8 | ##1.0功能 9 | - 输入关键词自动自动下载百度图片图片(30多张) 10 | - 修复了图片链接失效而导致程序卡死的问题 11 | - 保存图片名字改为了“关键词+数字”,并且解决了中文名存为乱码的问题 12 | 13 | 14 | ##使用说明 15 | python PicDownloader.py 16 | 然后输入需要查找的图片关键词,就能自动下载到pictue文件目录下 17 | 18 | 19 | ##联系 20 | 我的Email: hk2291976@hotmail.com 21 | 22 | 我的CSDN: [http://blog.csdn.net/hk2291976/](http://blog.csdn.net/hk2291976/) 23 | 24 | 我的简书:[http://www.jianshu.com/users/30f737ee0051](http://www.jianshu.com/users/30f737ee0051) 25 | 26 | 我的博客园:[www.cnblogs.com/voidsky/](www.cnblogs.com/voidsky/) 27 | -------------------------------------------------------------------------------- /PicDownloader.py: -------------------------------------------------------------------------------- 1 | #-*- coding:utf-8 -*- 2 | import re 3 | import requests 4 | 5 | 6 | 7 | def dowmloadPic(html,keyword): 8 | 9 | 10 | pic_url = re.findall('"objURL":"(.*?)",',html,re.S) 11 | i = 0 12 | print '找到关键词:'+keyword+'的图片,现在开始下载图片...' 13 | for each in pic_url: 14 | print '正在下载第'+str(i+1)+'张图片,图片地址:'+str(each) 15 | try: 16 | pic= requests.get(each, timeout=10) 17 | except requests.exceptions.ConnectionError: 18 | print '【错误】当前图片无法下载' 19 | continue 20 | string = 'pictures\\'+keyword+'_'+str(i) + '.jpg' 21 | #resolve the problem of encode, make sure that chinese name could be store 22 | fp = open(string.decode('utf-8').encode('cp936'),'wb') 23 | fp.write(pic.content) 24 | fp.close() 25 | i += 1 26 | 27 | 28 | 29 | if __name__ == '__main__': 30 | word = raw_input("Input key word: ") 31 | url = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word='+word+'&ct=201326592&v=flip' 32 | result = requests.get(url) 33 | dowmloadPic(result.text,word) 34 | 35 | --------------------------------------------------------------------------------