天天看點

超級炫酷的3D旋轉動态圖——Python代碼實作

📋📋📋本文目錄如下:⛳️⛳️⛳️

目錄

​​0 💞寫在前面​​

​​1 💥Python爬取美女照片 ​​

​​1.1 🎉留戀忘返的網址​​

​​1.2 📚Python代碼​​

​​1.3 🍁結果 ​​

​​2 🍓html實作​​

​​2.1 🔎條件準備​​

​​2.2 📌運作展示 ​​

​​2.3 💓代碼實作​​

0 💞寫在前面

今天這篇文章我準備了很久,但是運作出來很值得。

屬于散漫閑談,畢竟涉及到一個浪漫的思想系統,故建議讀者按​​目錄​​次序逐一浏覽,免得驟然跌入幽暗的迷宮找不到來時的路,它不足為你揭示全部問題的答案,但若能讓人胸中升起一朵朵疑雲,也未嘗不會釀成晚霞斑斓的别一番景緻,萬一它居然給你帶來了一場精神世界的苦雨,那就借機洗刷一下原來存放在那兒的“躺平”上的塵埃吧。

     或許,雨過雲收,神馳的天地更清朗.......

超級炫酷的3D旋轉動态圖——Python代碼實作

我們今天的任務很明确,我先系統梳理一下:

1.先用Python爬取一波漂亮的美女照片;

2.然後Python中炫酷的代碼實作;

3.最後用matlab伺候,得到相同的結果。

寫到這裡,腦袋裡面突然蹦出一張圖檔:

超級炫酷的3D旋轉動态圖——Python代碼實作

1 💥Python擷取美女照片 

1.1 🎉留戀忘返的網址

​​站長素材-分享綜合設計素材的平台 (chinaz.com)​​

1.2 📚Python代碼

#~~~~~~~~~導入相關庫~~~~~~~~~~~~~~~~~~~~·
import urllib.request
from lxml import etree

#~~~~~~~~~1.請求對象的定制~~~~~~~~~~~~~~~~~
def create_request(page):
    if (page == 1):
        url = 'https://sc.chinaz.com/tag_tupian/YaZhouMeiNv.html'
    else:
        url = 'https://sc.chinaz.com/tag_tupian/yazhoumeinv_' + str(page) + '.html'
    # print(url)
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'
    }
    request = urllib.request.Request(url=url, headers=headers)
    return request


#~~~~~~~~~~~2.擷取網頁的源碼~~~~~~~~~~~~~~~~~~~~~
def get_content(request):
    response = urllib.request.urlopen(request)
    content = response.read().decode('utf-8')
    return content


#~~~~~~~~~~~~~~~~~~~3.下載下傳圖檔~~~~~~~~~~~~~~~~~~~~~~~~~~
def down_img(content):
    # 下載下傳檔案格式:urllib.request.urlretrieve('圖檔位址','檔案的名字')
    tree = etree.HTML(content)
    name_list = tree.xpath('//div[@id = "container"]//a/img/@alt')
    # 一般涉及到圖檔的網站,都會進行懶加載,要把src換成src2(懶加載時,src會以src2出現)
    src_list = tree.xpath('//div[@id = "container"]//a/img/@src2')
    # print(len(name_list))
    # print(len(src_list))
    for i in range(len(name_list)):
        name = name_list[i]
        src = src_list[i]
        url = 'https:' + src
        url = url.replace('_s', '')
        urllib.request.urlretrieve(url=url, filename='./meinv/' + name + '.jpg')

#~~~~~~~~~運作~~~~~~~~~~~~~~~
if __name__ == '__main__':
    start_page = int(input('請輸入起始頁碼:'))
    end_page = int(input('請輸入終止頁碼:'))

    for page in range(start_page, end_page + 1):
        #~~~~1.定制請求對象~~~~~
        request = create_request(page)
        #~~~~2.擷取網頁源碼~~~~~
        content = get_content(request)
        #~~~~~3.解析源碼并下載下傳圖檔~~~
        down_img(content)      

1.3 🍁結果 

超級炫酷的3D旋轉動态圖——Python代碼實作

溫馨提示:meinv這個檔案夾是提前建立的。 

2 🍓html實作

2.1 🔎條件準備

由1中爬取的照片,我們就可以為接下來的事做準備啦。選取十二張照片,如圖:

超級炫酷的3D旋轉動态圖——Python代碼實作

2.2 📌運作展示 

2.3 💓html實作

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS3制作3D圖檔立方體旋轉特效</title>
<link rel="stylesheet" href="css/index.css">
</head>
<body>
<!--/*外層最大容器*/-->
<div class="wrap">
<!-- /*包裹所有元素的容器*/-->
<div class="cube">
  <!--前面圖檔 -->
  <div class="out_front">
    <img src="img/1.jpg" class="pic">
  </div>
  <!--後面圖檔 -->
  <div class="out_back">
    <img src="img/2.jpg" class="pic">
  </div>
  <!--左圖檔 -->
  <div class="out_left">
    <img src="img/3.jpg" class="pic">
  </div>
  <!--右圖檔 -->
  <div class="out_right">
    <img src="img/4.jpg" class="pic">
  </div>
  <!--上圖檔 -->
  <div class="out_top">
    <img src="img/5.jpg" class="pic">
  </div>
  <!--下圖檔 -->
  <div class="out_bottom">
    <img src="img/6.jpg" class="pic">
  </div>
  <!--小正方體 --> 
  <span class="in_front">
    <img src="img/7.jpg" class="in_pic">
  </span>
  <span class="in_back">
     <img src="img/8.jpg" class="in_pic">
  </span>
  <span class="in_left">
    <img src="img/9.jpg" class="in_pic">
  </span>
  <span class="in_right">
    <img src="img/10.jpg" class="in_pic">
  </span>
  <span class="in_top">
    <img src="img/11.jpg" class="in_pic">
  </span>
  <span class="in_bottom">
    <img src="img/12.jpg" class="in_pic">
  </span>
</div>
</div>
</body>
</html>