python實戰——下載推女郎圖片


說明

python2.7或3.4小腳本
這個小軟件是和urllib和urllib2的使用結合了python網頁獲取異常的處理,原理非常簡單,適合初學者練手~

功能

下載這個網站上的圖片

成果

先放福利啦~
成果

分析

首先,想下載網站上的圖片就需要獲得圖片的地址,正常套路是用正則在網頁源代碼中匹配到要下載的圖片的網址,再下載,但是這回通過發現圖片的路徑是有規律的:

http://www.tuigirl8.com/tu/N/n.jpg

N代表第幾期,n是代表第幾張。
抓取截圖
那么接下來就好辦了,只要程序循環N和n,不斷獲取圖片就能下載到了!
不過寫出來報錯,因為當讓puython下載的網址不是圖片的時候,會報錯,程序也就終止了,好辦,加個try:
最后修改好是下面的代碼

最終成果

2.7版

#-*-coding:utf-8-*-
##python2.7 project

import re,urllib,urllib2

#--------------
No = 1
n = 9
#---------------
s = True
b = True
err = 0
def download_image(url, save_path): 
     urllib.urlretrieve(url, save_path)
#'http://www.tuigirl8.com/tu/no/n.jpg'
def download(No,n):
    html = 'http://www.tuigirl8.com/tu/%d/%d.jpg'%(No,n)

    dic = './%d_%d.jpg'%(No,n)
    try:
        response = urllib2.urlopen(html)  
        html1 = response.read()  
    except urllib2.URLError, e: 
        print'這個路徑下沒有圖片,跳過'
        s = False 
        return s

    else:
        download_image(html,dic)
        print'下載成功%s'%dic
        s = True
        return s
while b:

    if download(No,n) == False:
        err+=1
        if err == 15:
            No+=1
    n+=1        


print 'ok!'

3.4版

#-*-coding:utf-8-*-
#python3.4 project

import urllib.request,urllib.error

#--------------
No = 1
n = 9
#---------------
s = True
b = True
err = 0
def download_image(url, save_path): 
    urllib.request.urlretrieve(url, save_path)
#'http://www.tuigirl8.com/tu/no/n.jpg'
def download(No,n):
    html = 'http://www.tuigirl8.com/tu/%d/%d.jpg'%(No,n)

    dic = './%d_%d.jpg'%(No,n)
    try:
        response = urllib.request.urlopen(html)  
      # html= response.() 
    except urllib.error.URLError as e: 
        print('這個路徑下沒有圖片,跳過')
        s = False 
        return s

    else:
        download_image(html,dic)
        print('下載成功')
        s = True
        return s
while b:

    if download(No,n) == False:
        err+=1
        if err == 15:
            No+=1
    n+=1        


print ('ok!')

版權聲明:本文為博主原創文章,未經博主允許不得轉載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM