超级炫酷的3D旋转美女图——Python实现

目录

0 写在前面

1 Python爬取美女照片 

1.1 留恋忘返的网址

1.2 Python代码

1.3 结果 

2 Python实现

2.1 条件准备

2.2 运行展示 

2.3 Python实现


0 写在前面

今天这篇文章我准备了很久,但是运行出来很值得。

属于散漫闲谈,毕竟涉及到一个浪漫的思想系统,故建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......

超级炫酷的3D旋转美女图——Python实现_第1张图片

我们今天的任务很明确,我先系统梳理一下:

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

2.然后Python中炫酷的代码实现;

3.最后用matlab伺候,得到相同的结果。

写到这里,脑袋里面突然蹦出一张图片:

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 结果 

温馨提示:meinv这个文件夹是提前建立的。 


2 Python实现

2.1 条件准备

由1中爬取的照片,我们就可以为接下来的事做准备啦。选取十二张照片,如图:

2.2 运行展示 

运行出来比下面这个还炫酷: 

2.3 Python实现





CSS3制作3D图片立方体旋转特效




完整资源分享:链接:https://pan.baidu.com/s/1fZOYyRjAUgY_0Y6a9q-P0A 
                           提取码:laij

动态视频:

你可能感兴趣的