导读
本期将实现用Python进行豆瓣图片的爬取,并用软件快速生成马赛克拼图。![](https://pic2.zhimg.com/80/v2-074ab12b60c8bdb515250ca87c11ed71_720w.jpg)
软件获取方式:微信公众号后台回复:千图成像
微信公众号:
![](https://www.iamzlt.com/wp-content/uploads/2020/06/微信公众号.jpg)
简介
千图成像即马赛克拼图。马赛克拼图主要运用于抽象艺术图像的表达,利用图片像素的原理,将图像的每个色彩点,用不同的马赛克原石(图片)拼贴出来。![](https://pic4.zhimg.com/80/v2-19041363c3fc7b21f019859f374aeb0b_720w.jpg)
![](https://pic4.zhimg.com/80/v2-a4d716247633768e805f59f0c6769c1b_720w.jpg)
![](https://pic1.zhimg.com/80/v2-bf965fd6d4a9eae68aa465297717d308_720w.jpg)
本系列教程
Part1:Python实现图片爬取+软件快速体验马赛克拼图
part2:马赛克拼图实现原理+代码实现
part3:如何实现多样式的马赛克拼图
照片爬取
![](https://pic1.zhimg.com/80/v2-019cf767f8e182488ff1913a77874974_720w.jpg)
![](https://pic3.zhimg.com/80/v2-f9952ea5bd1ab9479a0bed5b6f3c137a_720w.jpg)
#请求头信息与链接
headers = { 'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36" }
url = 'https://movie.douban.com/celebrity/1048000/photos/?type=C&start=' + str(page * 30) + '&sortby=like&size=a&subtype=a'
# -*- utf-8 -*-
import os
import requests
from bs4 import BeautifulSoup
headers = {
'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"
}
def GetHtmlText(url):
try:
r = requests.get(url, headers=headers)
#print(url)
r.raise_for_status()
r.encoding = 'utf-8'
return r.text
except:
return ""
def main(pages):
FilePath = os.getcwd() + '\jay\\'
if not os.path.exists(FilePath):
os.makedirs(FilePath)
TempPage = pages
FileNum = 1
for page in range(pages):
url = 'https://movie.douban.com/celebrity/1048000/photos/?type=C&start=' + str(page * 30) + '&sortby=like&size=a&subtype=a'
html = GetHtmlText(url)
soup = BeautifulSoup(html, 'html.parser')
#print(str(page * 30))
uls = soup.find_all('ul', {"class": "poster-col3 clearfix"})
print(html)
for ul in uls:
imgs = ul.find_all('img')
for img in imgs:
imgurl = img['src']
imgcontent = requests.get(imgurl).content
filename = str(FileNum) + '.jpg'
with open(os.getcwd() + '/jay/' + filename, 'wb') as wf:
wf.write(imgcontent)
FileNum += 1
if __name__ == '__main__':
main(10)
运行结果如下。值得一说的是,在进行爬取时默认保存的图片格式为jpg,而豆瓣图片储存格式并非完全为jpg格式,所以会出现部分图片无法读取与查看。但并不影响后续的操作。
![](https://pic1.zhimg.com/80/v2-90a5f1ac22ad2b19c4cf61f0e45e7d38_720w.jpg)
软件生成马赛克拼图
Foto-Mosaik-Edda是一个简单易用的向导程序,软件大小为1.47MB,用户可以使用它自己的照片,轻松的创建出由很多张图片组成的马赛克拼图
1.创建图库
![](https://pic1.zhimg.com/80/v2-7d40ae687c1bdb343bb05778d189c964_720w.jpg)
![](https://pic1.zhimg.com/80/v2-d0a6e5bfead6dca727a2bcac61f213a4_720w.jpg)
![](https://pic1.zhimg.com/80/v2-db321db65489764ca92e230e78ff319c_720w.jpg)
![](https://pic2.zhimg.com/80/v2-66ae0d9b53b8a488349693a4110d7c99_720w.jpg)
![](https://pic1.zhimg.com/80/v2-6e7fc7ebb109b837ef735a510ec90040_720w.jpg)
![](https://pic4.zhimg.com/80/v2-d0288dfd3baf0699c739213a47650ab3_720w.jpg)
![](https://pic4.zhimg.com/80/v2-d2756d5bee447af11123b1dfe674375f_720w.jpg)
![](https://pic2.zhimg.com/80/v2-266b7fe3b0fdec792909f6e1205dd459_720w.jpg)
![](https://pic4.zhimg.com/80/v2-6d2b956ec125701fde4f766007e07bbf_720w.jpg)
![](https://pic4.zhimg.com/80/v2-ff3500fdc79ab9c95d439af471b09487_720w.jpg)
![](https://pic3.zhimg.com/80/v2-9c22662a99da0f8bafd2d239f7abee06_720w.jpg)
![](https://pic2.zhimg.com/80/v2-3f27fc0caa022eeaa48c4129d6a81d89_720w.jpg)
![](https://pic4.zhimg.com/80/v2-a4d716247633768e805f59f0c6769c1b_720w.jpg)