作者:手机用户2502856553 | 来源:互联网 | 2023-10-12 04:27
简介:快来拿出你珍藏的pick star,用大家对他的爱重塑一个他吧。通过爬取微博评论,制作你的偶像图片词云,天天都是不重样的哦!
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:101677771
06月03号,英雄联盟史上永远的神--UZI退役,一代传奇落下帷幕。
此时,利用谷歌浏览器的抓包工具,即点击F12,清空所有连接后,F5刷新,看到评论为下面的链接:
记住右边标注红框的部分,一会需要用到它来爬取评论。
同时点击左边第二行hotflow?id...那个network,找到COOKIE值,将他复制下来,备用。
然后,通过观察翻页规律,发现第二页比首页评论多了一个参数max_id,而这个参数可以在首页的页面返回值中拿到。故想获得n页的链接,只需要解析n-1页就可以了。
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 美照地址',就可以进行词云自动生成了。