python爬蟲——圖片下載

轉載自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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章