热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

看看你爱的他今天是什么‘颜色‘Python爬取微博评论制作专属偶像词云

简介:快来拿出你珍藏的pickstar,用大家对他的爱重塑一个他吧。通过爬取微博评论,制作你的偶像图片词云,天天都是不重样的

简介:快来拿出你珍藏的pick star,用大家对他的爱重塑一个他吧。通过爬取微博评论,制作你的偶像图片词云,天天都是不重样的哦!

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:101677771

06月03号,英雄联盟史上永远的神--UZI退役,一代传奇落下帷幕。

 

此时,利用谷歌浏览器的抓包工具,即点击F12,清空所有连接后,F5刷新,看到评论为下面的链接:

 

记住右边标注红框的部分,一会需要用到它来爬取评论。

同时点击左边第二行hotflow?id...那个network,找到COOKIE值,将他复制下来,备用。

 

然后,通过观察翻页规律,发现第二页比首页评论多了一个参数max_id,而这个参数可以在首页的页面返回值中拿到。故想获得n页的链接,只需要解析n-1页就可以了。

 


  • 爬微博评论阶段

    首先构造请求头,通过requests库得到页面响应。

headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36', 'Accept': 'application/json, text/plain, */*', 'MWeibo-Pwa': '1', 'Referer': 'https://m.weibo.cn/detail/%s' % mid, 'X-Requested-With': 'XMLHttpRequest',    'COOKIE': '复制的COOKIE值' }url = args.urlif num > 1: url = 'https://m.weibo.cn/comments/hotflow?id={}&mid={}&max_id={}&max_id_type=0'.format(mid, mid, max_id)response = requests.get(url, headers=headers

接下来对返回值进行解析:

comment = item['text']comment = emoji.demojize(comment)comment = re.sub('', ' ', comment)comment = re.sub('', ' ', comment)name = item['user']['screen_name']created_at = itemi['created_at']

通过循环获取每条评论的用户名、评论时间和评论内容,并对评论内容做去表情和图片链接的处理,最后保存为csv文件:

df = pd.DataFrame({'用户名': name_list, '评论': comment_list, '时间': created_at_list})df = df.drop_duplicates()df.to_csv('comments.csv', index=False)

结果如图(二次泪目中...):

这样一个简单的爬虫就处理完成了,食材准备好了,主食就应该开火了,起锅烧油!

 

偶像词云制作

首先,选择你最爱的偶像的照片,这里选择狂小狗童鞋:

 

 

然后进行抠图、配上白色背景(如果不进行这一步,最后制作的词云可能会因为色差不明显导致有噪音):

 

rmbg = RemoveBg("你的api", "error.log")rmbg.remove_background_from_img_file(path)
img = cv2.imread(path, -1) img_copy = img.copy() img_shape = img_copy.shape width = img_shape[0] height = img_shape[1] for yh in range(height): for xw in range(width): color_d = img_copy[xw, yh] if color_d[3] == 0: img_copy[xw, yh] = [255, 255, 255, 255]

上述代码需要用到removebg模块的api,搜索这个模块,注册一下就可以拿到,很简单。

 

可见,人们对于简自豪UZI的退役还是怀念与祝福占主流的,一员老将的离去,标志着一部分人青春的结束,但是未来的旅程也会同样精彩的!

 

 

不只是UZI,你喜欢的偶像是谁呢?准备一张他的美照,输入启动命令'python crawling.py --url 评论链接 --image 美照地址',就可以进行词云自动生成了。


推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • HTML:  将文件拖拽到此区域 ... [详细]
  • 本文探讨了在UIScrollView上嵌入Webview时遇到的一个常见问题:点击图片放大并返回后,Webview无法立即滑动。我们将分析问题原因,并提供有效的解决方案。 ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • 本文详细探讨了使用Python3编写爬虫时如何应对网站的反爬虫机制,通过实例讲解了如何模拟浏览器访问,帮助读者更好地理解和应用相关技术。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • 如何在IE11中启用Edge模式?详细设置指南
    Edge模式是IE11的一项重要更新,旨在提升浏览器的兼容性和互操作性。该模式允许用户以更高标准的Web技术访问网页,类似于WP8.1 GDR1中的IE11特性。 ... [详细]
  • 在第10天的夜灵HTML日志中,我们深入探讨了浏览器兼容性和高级选择器的应用。CSS3引入了许多新属性,但在旧版浏览器中的支持情况并不理想。然而,目前主流浏览器的最新版本已全面支持这些新特性。对于那些不支持CSS3新属性的浏览器,我们提供了多种解决方案,以确保网站在不同环境下的兼容性和用户体验。此外,我们还详细讨论了如何利用高级选择器提升页面布局的灵活性和可维护性。 ... [详细]
author-avatar
手机用户2502856553
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有