来源:python专栏
1、数据源
知乎话题『美女』下所有问题中回答所出现的图片
2、抓取工具
Python 3,并使用第三方库 Requests、lxml、AipFace,代码共 100 + 行
3、必要环境
Mac / Linux / Windows (Linux 没测过,理论上可以。Windows 之前较多反应出现异常,后查是 windows 对本地文件名中的字符做了限制,已使用正则过滤)
无需登录知乎(即无需提供知乎帐号密码)
人脸检测服务需要一个百度云帐号(即百度网盘 / 贴吧帐号)
4、人脸检测库
AipFace,由百度云 AI 开放平台提供,是一个可以进行人脸检测的 Python SDK。可以直接通过 HTTP 访问,免费使用。
5、检测过滤条件
过滤所有未出现人脸图片(比如风景图、未露脸身材照等)
过滤所有非女性(在抓取中,发现知乎男性图片基本是明星,故不考虑;存在 AipFace 性别识别不准的情况)
过滤所有非真实人物,比如动漫人物 (AipFace Human 置信度小于 0.6)
过滤所有颜值评分较低图片(AipFace beauty 属性小于 45,为了节省存储空间;再次声明,AipFace 评分无任何客观性)
6、实现逻辑
通过 Requests 发起 HTTP 请求,获取『美女』下的部分讨论列表
通过 lxml 解析抓取到的每个讨论中 HTML,获取其中所有的 img 标签相应的 src 属性
通过 Requests 发起 HTTP 请求,下载 src 属性指向图片(不考虑动图)
通过 AipFace 请求对图片进行人脸检测
判断是否检测到人脸,并使用 『4 检测过滤条件』过滤
将过滤后的图片持久化到本地文件系统,文件名为 颜值 + 作者 + 问题名 + 序号
返回第一步,继续
7、抓取结果
直接存放在文件夹中(angelababy 实力出境)。另外说句,目前抓下来的图片,除 baby 外,88 分是最高分。个人对其中的排序表示反对,老婆竟然不是最高分
代码:
8、运行准备
安装 Python 3,Download Python
安装 requests、lxml、baidu-aip 库,都可以通过 pip 安装,一行命令
申请百度云检测服务,免费。人脸识别-百度AI
大时代来临,如果你不懂AI不要紧,但是一定要了解AI,使用AI,接触它。不要错过这个疯狂的风口,欢迎订阅我们的小册 👉:(玩转Chatgpt秘籍来了),43篇干货,700多个订阅小伙伴都已经上车了。2杯咖啡的钱而已,永久阅读。
推荐阅读:
入门: 最全的零基础学Python的问题 | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!| 再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|