码迷,mamicode.com
首页 > 其他好文 > 详细

记一次某校版facemash的搭建

时间:2019-02-13 20:46:31      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:ima   exception   print   png   社交网络   相同   notepad   这不   def   

中学时看过关于小札的自传电影《社交网络》,边想着有朝一日上了大学搞掉全校女生的学籍照来搭个类似的网站,这不,功夫不负有心人,在大学的尾巴里,从某系统里将全校那啥的那啥搞了下来。

那么有了照片,下一步就是搭站了。

0x00

先谷歌搜了一堆facemash的仿站,搞了一上午都不显示图片,搞得很是郁闷。于是请教滨哥远程给改了一下,,,貌似是数据库和源码的路径没设置好,真是菜鸡。

0x01

既然是给看女同学的站,那么肯定不能有男同学的照片了。那么怎么把男同学的照片删掉呢,这么多照片不可能我人脸识别一个个删吧。

一开始的思路是去github找一些机器学习的项目,去人脸识别筛选,但总感觉有点大材小用咯,所以干脆用了个猥琐的方法。

想起某年省赛时,队友写的ftp上传下载的bat脚本,便搜了一下打开看看,然后便有思路了。

先将历年同学的信息表中男同学筛选出来,然后将他们的学号复制到txt文档内。全部复制完成后,用notepad++的替换功能,选正则表达式

技术图片

$是替换每行后面的内容

^是替换每行前面的内容

技术图片

完成后,文本的每一行都是一个dos的删除命令

技术图片

@echo off
changing pic files. Dont close it!!!!!!
color 0b
echo =======================================
changing pic filess. Dont close it!!!!!!
echo ---------------------------------------
echo By 1go0, Tel: 010-XXXXX-XXX.
echo =======================================
del 20170xxx0102.jpg
del 20170xx10104.jpg
del 20170xx10106.jpg
del 20170xx10110.jpg
del 20170xx10112.jpg

之后,将这个bat脚本复制到图片路径下,双击,就会删除脚本中对应的图片文件,也就删除了男同学的照片。

0x02

那么,在之后的调试过程中,发现有一部分照片的像素大小和其他照片像素不同,大部分图片的像素都是120*160,这种情况当然是用python了!

于是找到atyzy(https://blog.csdn.net/atyzy/article/details/77905463 )师傅的脚本转换之。

#提取目录下所有图片,更改尺寸后保存到另一目录
from PIL import Image
import os.path
import glob
def convertjpg(jpgfile,outdir,width=128,height=128):
    img=Image.open(jpgfile)
    try:
        new_img=img.resize((width,height),Image.BILINEAR)   
        new_img.save(os.path.join(outdir,os.path.basename(jpgfile)))
    except Exception as e:
        print(e)
for jpgfile in glob.glob("E:\\img\\*.jpg"):
    convertjpg(jpgfile,"E:\\lianhua")

成功将所有女同学的照片转换到相同的像素。

0x03 Bingo

技术图片

 

记一次某校版facemash的搭建

标签:ima   exception   print   png   社交网络   相同   notepad   这不   def   

原文地址:https://www.cnblogs.com/1go0/p/10371548.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!