赞
踩
最近想看一下微博热点评论的用户人群情感趋势,想到的就是去爬取某博的评论数据,然后进行一个可视化的情感分析。想想吧,这个项目肯定网上一大堆,然后呢,自己去搜索,可把我气的。Github和csdn居然没有一个能够参考的好项目,不是拉下来跑不了。就是一些过时的程序,早都被反爬了。这可把我气的,花了两天时间自己研究琢磨了一个平台。现在免费提供给大家,希望大家多多收藏。相信我,你以后一定会用到的!
为了能让小白能够看懂我先来介绍一下我使用到的一些技术
Layui是一个基于Web界面的前端UI框架,提供了丰富的组件和接口,并且易于使用和定制。它被广泛应用于Web开发项目中,可以帮助开发者快速搭建出美观、高效的用户界面。Layui采用了模块化的设计方式,使得开发者可以根据需要选择需要的组件,同时也可以方便的自定义扩展组件。它的主要特点包括简洁、易用、减少样式冲突、响应式设计。
Echart是一种用于数据可视化的JavaScript图表库,它支持多种图表类型,如折线图、柱状图、饼图、散点图等,并且具有动态交互性和可定制性。Echart可以通过简单的JavaScript代码来实现丰富的数据可视化效果,适用于不同领域的数据分析与展示。
爬取思路,大神勿喷:
登录地址为:微博地址
如果没有登录记得登录,登录成功后进入微博的H5页面。
评论链接:评论链接
有个恶心的问题是爬取这个链接根本不是固定的,需要我们自己手动翻页收集,这里应该是人家的反扒策略。
所以我只能将所有链接复制填写到输入框中进行遍历。遍历时要进行字符串处理
# 识别多页评论数据
def get_readUrl(data_url):
data = data_url
data_goods = []
str_data = data.split("hotflow")
for k in str_data:
if len(k) > 10:
data = k[:78]
print(data)
data_goods.append(data)
return data_goods
代码如下:
# 爬取微博热点评论 # 获取当前热搜信息 import json import time import requests from service.feelcheck import write # 获取某个信息 def get_data(hot_band_url, data_goods, cookie, name): mydata_pa = [] headers = { 'user_agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.39', 'cookie': cookie, 'Accept': 'application/json, text/plain, */*' } id = 0 try: for k in data_goods: print(hot_band_url + k) data = requests.get(hot_band_url + k, headers=headers) # 请求 # time.sleep(1) # 防止被监控 data = data.json() data = data['data']['data'] for k in data:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。