作者:shenzhongqiang

  来源:Python与数据分析

国庆阅兵方阵中的军乐队小姐姐火了,看到朋友圈好多小伙伴说自己恋爱了。除了军乐队的小姐姐,知乎上也有很多漂亮小姐姐的照片。今天知乎上有一个热搜问题

你见过的有些人能漂亮到什么程度?

原问题在这儿

https://www.zhihu.com/question/266808424

我们用爬虫爬了下这个问题下的高赞照片。在欣赏小姐姐的美照之前,我们先来分享一下思路。

首先通过浏览器的开发者工具,找到所有回答的链接。知乎的回答都是ajax的方式加载的,一次加载一页。

我们可以通过知乎回答的url,先把回答一页一页的爬下来,存到本地数据库。随后从数据库里读取数据,筛选出高赞的回答,把回答里的图片解析出来。

思路大致就是这样。

这里分享几个主要函数,完整代码可以在后台回复“小姐姐”获取。

def get_answers_by_page(page_no):offset = page_no * 10url = "<answer url>&offset={}&limit=10&sort_by=default&platform=desktop".format(offset)headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",}r = requests.get(url, verify=False, headers=headers)content = r.content.decode("utf-8")data = json.loads(content)is_end = data["paging"]["is_end"]items = data["data"]client = pymongo.MongoClient()db = client["beauty"]if len(items) > 0:db.answers.insert_many(items)return is_enddef get_answers():page_no = 0client = pymongo.MongoClient()while True:print(page_no)is_end = get_answers_by_page(page_no)page_no += 1if is_end:breakdef query():client = pymongo.MongoClient()db = client["beauty"]items = db.answers.find({"voteup_count": {"$gte": 100}}).sort([("voteup_count", pymongo.DESCENDING)])count = 0for item in items:content = item["content"]vote_num = item["voteup_count"]author = item["author"]["name"]matched = re.findall(r'data-original="([^"]+)"', content)print("> 来自 {}\n".format(item["url"]))print("> 作者 {}\n".format(author))print("> 赞数 {}\n".format(vote_num))img_urls = []for img_url in matched:if img_url not in img_urls:print("![]({})".format(img_url))img_urls.append(img_url)count += len(img_urls)print("\n\n")print(count)

上面是3个函数。

  • get_answers_by_page - 这个函数用于获取一页的回答内容,获取的内容会存到本地MongoDB里

  • get_answers - 这个函数用于获取所有页的内容,它会调用上面的函数,循环获取每一页的内容

  • query - 这个函数用于从MongoDB里查询数据,筛选高赞回答,并且把结果打印出来

如果要完整的运行这个项目,大家可以下载源代码后,在本地运行。

运行项目后,程序会筛选出所有赞数大于100的回答,并且把回答里的图片整理出来。赞数越高的回答,小姐姐的颜值越高。

我们来欣赏一下部分小姐姐的美照

来自 https://www.zhihu.com/api/v4/answers/616931654

作者 不知

赞数 24153

来自 https://www.zhihu.com/api/v4/answers/626983318

作者 匿名用户

赞数 17432

 

来自 https://www.zhihu.com/api/v4/answers/621175755

作者 知乎用户

赞数 16764

来自 https://www.zhihu.com/api/v4/answers/792418115

作者 匿名用户

赞数 16285

来自 https://www.zhihu.com/api/v4/answers/664414526

作者 万金油

赞数 13502

来自 https://www.zhihu.com/api/v4/answers/612795804

作者 樱桃玩

赞数 13320

来自 https://www.zhihu.com/api/v4/answers/612018288

作者 JoyCE

赞数 12990

来自 https://www.zhihu.com/api/v4/answers/664315159

作者 开眼视频App

赞数 11786

 来自 https://www.zhihu.com/api/v4/answers/670086163

作者 William

赞数 11706

来自 https://www.zhihu.com/api/v4/answers/626009680

作者 走X广大月月鸟

赞数 11004

来自 https://www.zhihu.com/api/v4/answers/663844739

作者 运动医学王杨医生

赞数 10526

   来自 https://www.zhihu.com/api/v4/answers/613282193

想要看更多小姐姐的照片,可以在后台回复“小姐姐”获取完整代码,自己动手丰衣足食!

爬了下知乎上的高颜值小姐姐!美翻了!相关推荐

  1. Java爬取百度图片人脸识别下载高颜值小姐姐图片

    前言: 最近想下载一些比较好看的妹子图片,但又不想去网上一张张的看,于是就想通过爬取图片进行人脸识别下载. 1.首先:在爬取图片时,通过Java请求时会遇到百度安全认证机制,在这里可以模拟浏览器的请求 ...

  2. 【Python】多线程爬取某站高颜值小姐姐照片(共1.62GB)

    文章目录 写在前面 目标网站 依赖模块 爬虫思路 完整代码 爬虫结果 单图预览 多图预览 引用参考 写在前面 本文使用Python编写爬虫脚本,实现多线程爬取唯美女生网站高颜值小姐姐的所有照片. 目标 ...

  3. 抖音那么大我想看美女,python一键爬取高颜值小姐姐

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 星安果.AirPython 目 标 场 景 相信大家平时刷抖音短视频 ...

  4. Python3爬虫项目集:爬取知乎十几万张小姐姐美图

    文章目录 前言 注意点 代码实例 前言 github:https://github.com/pasca520/Python3SpiderSet 知乎上有很多钓鱼贴,也成功的钓上了很多鱼,你懂的~~~ ...

  5. iframe 返回上一页_寻找高颜值小姐姐难吗!直到我在Github上发现了这个Python库

    Python真的是无所不能,有同学说万能的Python,其实就是指的Python的库真的很多很多!坐地铁的时候,经常看到周围人刷抖音的,看短视频.抖音上面的美女小姐姐真的是很多,今天在Github上一 ...

  6. 寻找高颜值小姐姐难吗!直到我在Github上发现了这个Python库

    Python真的是无所不能,有同学说万能的Python,其实就是指的Python的库真的很多很多!坐地铁的时候,经常看到周围人刷抖音的,看短视频.抖音上面的美女小姐姐真的是很多,今天在Github上一 ...

  7. python爬了下知乎1000赞+的神回复,笑死人了~

    都说知乎出人才,爬虫爬了下知乎上的回答,整理了80条超级搞笑的神回复,已经笑趴 1 Q: 你随身携带或佩戴最久的那件东西是什么?对你有什么特殊的意义? A: 眼镜,因为瞎 2 Q: 有哪些东西你以为很 ...

  8. 爬了下知乎神回复,笑死人了~

    都说知乎出人才,爬虫爬了下知乎上的回答,整理了80条超级搞笑的神回复,已经笑趴

  9. 爬了下知乎神回复,这次继续笑!

    知乎神回复都有些什么特点呢? 大家看出什么规律了么?短小精辟有没有?赞同很多有没有?所以爬取知乎神回复我们只要爬取那些赞同多又字数少的回答就可以.简单的两个步骤就能实现,第一步爬取知乎回答,第二部筛选 ...

最新文章

  1. 毫米波雷达分类和技术方案
  2. JAVA 中equals()与==的区别
  3. 蒙特卡罗(Monte Carlo)方法
  4. 【转】在你的博客中添加Google地图(Use Google Map API On Your Bolg)
  5. kotlin学习目录
  6. ExtJs 带分页的comboBox
  7. UVA 11552——Fewest Flops
  8. 如何在VMware软件上安装Red hat(红帽)Linux6.9操作系统
  9. 通过python爬取数据
  10. matlab的findpeak 极点查找
  11. Python可视化库Matplotlib的使用
  12. python操作数据库之删除数据
  13. IE6 PNG 透明
  14. bpsk调制及解调实验_调制的理解
  15. 技术岗面试中的一些常见问题
  16. 美团:落地 Service Mesh 的挑战与实践!
  17. 论文阅读:Video Visual Relation Detection via Iterative Inference
  18. 错误记录:java.lang.IllegalStateException:Duplicate key
  19. python 战棋游戏代码实现(2):六边形地图寻路和显示
  20. mysql如何不停机迁移_如何实现真正的不停机数据迁移?

热门文章

  1. linux孤立cpu,Linux 抛弃旧款 CPU,一下子少 50 万行代码
  2. Go modules基础精进,六大核心概念全解析(上)
  3. 知乎 CTO 李大海:创业公司如何拥抱开源
  4. 8比特数值也能训练模型?商汤提训练加速新算法丨CVPR 2020
  5. “不给钱就删库”的勒索病毒, 程序员该如何防护?
  6. 七夕大礼包:26个AI学习资源送给你!
  7. 吴恩达的Landing.ai又迎来一位AI大牛
  8. 中小学AI教育靠谱吗?50%教师教学经验不足1年
  9. 非计算机专业如何转行AI,找到算法offer?
  10. AI 技术实力图谱全解析!2018 中国 AI 开发者大会重磅来袭