热门标签 | 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 美照地址',就可以进行词云自动生成了。


推荐阅读
  • 最近在学Python,看了不少资料、视频,对爬虫比较感兴趣,爬过了网页文字、图片、视频。文字就不说了直接从网页上去根据标签分离出来就好了。图片和视频则需要在获取到相应的链接之后取做下载。以下是图片和视 ... [详细]
  • 文章目录简介HTTP请求过程HTTP状态码含义HTTP头部信息Cookie状态管理HTTP请求方式简介HTTP协议(超文本传输协议)是用于从WWW服务 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • Scrapy 爬取图片
    1.创建Scrapy项目scrapystartprojectCrawlMeiziTuscrapygenspiderMeiziTuSpiderhttps:movie.douban.c ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • 目录爬虫06scrapy框架1.scrapy概述安装2.基本使用3.全栈数据的爬取4.五大核心组件对象5.适当提升scrapy爬取数据的效率6.请求传参爬虫06scrapy框架1. ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • ECMA262规定typeof操作符的返回值和instanceof的使用方法
    本文介绍了ECMA262规定的typeof操作符对不同类型的变量的返回值,以及instanceof操作符的使用方法。同时还提到了在不同浏览器中对正则表达式应用typeof操作符的返回值的差异。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • css元素可拖动,如何使用CSS禁止元素拖拽?
    一、用户行为三剑客以下3个CSS属性:user-select属性可以设置是否允许用户选择页面中的图文内容;user-modify属性可以设置是否允许输入 ... [详细]
  • css,背景,位置,y,background, ... [详细]
  • pyecharts 介绍
    一、pyecharts介绍ECharts,一个使用JavaScript实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部 ... [详细]
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社区 版权所有