转载自http://www.cnblogs.com/voidsky/p/5490800.html

原文是在win系统下实现的,在此我在ubuntu14.04中实现了一下:

主要定义了一个脚本picdown.py,并采用re与requests模块实现

picdown.py

#-*- coding:utf-8 -*-
import re
import requests

def picdown():

    word = raw_input('Please input keyword:')
    url = 'https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word='+word+'&ct=201326592&v=flip'
    html = requests.get(url).text
 
    #查找所有以objURL开始的字段,re.S表示让”.”可以匹配换行符,
    #不然有些标签头和尾是分几行的,就会匹配失败
    pic_url = re.findall('"objURL":"(.*?)",',html,re.S) 
    i = 0
    for each in pic_url:
        print each
        try:
            pic= requests.get(each, timeout=10)#请求超时
        except requests.exceptions.ConnectionError:
            print '[错误]当前图片无法下载'
            continue
        string = './picture/'+str(i) + '.jpg'#保存文件在当前目录下的picture文件夹中
        fp = open(string,'wb')
        fp.write(pic.content)
        fp.close()
        i += 1

if __name__=='__main__':
    picdown()

结果如下:

执行脚本文件,输入刘亦菲;

wKioL1gqa8bDkwe7AAC-JFV7Lok642.png-wh_50

查看下载的文件

wKiom1gqbJKQhaDDAAOTvczw4jA184.png-wh_50