舆情分析

微博爬虫及舆情分析-1.爬取微博数据

匿名 (未验证) 提交于 2019-12-03 00:05:01
本文以“Mate30”为关键字进行分析 import requests as re import time #搜索关键字Mate30并获取url target_url = "https://m.weibo.cn/api/container/getIndex?containerid=100103type%3D1%26q%3DMate30&page_type=searchall&page=" # 爬取的微博总页数 total_page = 400 #存放微博与用户数据 mblog = list ( ) user = list ( ) # 根据是否为长文本采集不同的微博文本数据 long_text_count = 0 for page in range ( total_page ) : print ( 'Crawling page:%d/%d' % ( page + 1 , total_page ) ) cur_url = target_url + str ( page + 1 ) source_json = re . get ( cur_url ) . json ( ) time . sleep ( 1 ) source_data = source_json [ 'data' ] cards = source_data [ 'cards' ] if 'cards' in source

微博爬虫及舆情分析-2.用户分析

匿名 (未验证) 提交于 2019-12-03 00:05:01
import pandas as pd import re #读取数据 user_frame = pd . read_csv ( 'users.csv' , index_col = None ) user_frame . head ( 2 ) # 我用的是notebook所以这里只有截图发上来 # location字段整理,保留到省份 user_frame [ 'location' ] = user_frame . location . fillna ( '其他' ) def get_provience ( loc ) : location = str ( loc ) location = re . findall ( r "^[\u4e00-\u9fff][^' ']*" , location ) if not location : return '其他' return location [ 0 ] user_frame [ 'location' ] = user_frame [ 'location' ] . apply ( get_provience ) # 认证用户比例 import matplotlib . pyplot as plt % matplotlib inline plt . rcParams [ 'font.sans-serif' ] = [ 'SimHei'

java舆情监测系统

丶灬走出姿态 提交于 2019-12-01 02:33:10
每天记录学习,每天会有好心情。*^_^* 每天都要认真学习,才能更加进步。└(^o^)┘ 在工作和学习的过程中要善于思考,勤于学习。并做出适当的记录,才能最快速的学习并掌握一项知识。希望在这个平台和大家一起共同成长,和大家分享一个SSM(MYECLIPSE)项目,该项目名称为基于web的java舆情监测系统。采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。 大家在学习中编写SSM(MYECLIPSE)框架的项目时常选用的开发工具是MYECLIPSE,从上面的项目背景中,我们可以得出基于web的java舆情监测系统拥有 后台。才能让用户完整的使用该项目。 基于web的java舆情监测系统项目的登录角色包括了管理员、用户,系统中所有的用户都是拥有账号密码字段的。其中管理员只能在后台和数据库进行添加。而其余的登录角色可以通过注册的方式成功拥有系统账号密码。 总结得出基于web的java舆情监测系统项目所有数据为:管理员(admin)、用户(yonghu)、主要子系统(zhuyaozixitong)、功能简述id(gongnengjianshu) 基于web的java舆情监测系统之管理员表 字段名 | 类型 | 属性 | 描述 id | INT(11) | PRIMARY KEY | 管理员id username |

微博爬虫及舆情分析-3.文本清理与制作词云

╄→гoц情女王★ 提交于 2019-11-29 16:28:56
1、文本清理 import pandas as pd import pymysql from sqlalchemy import create_engine import re import jieba import jieba . analyse #1.从数据库导入微博数据并查看 mblog_frame = pd . read_csv ( 'mblog.csv' , index_col = None ) mblog_frame . head ( 2 ) # 2.清除text中的非微博正文字符并抽取关键词 # 自定义函数 def clean_text ( raw ) : """ 清除text中的非微博正文字符 返回值类型为元组 """ if raw [ 'raw_text' ] : text = re . sub ( '<[^<]*>' , '' , raw [ 'raw_text' ] ) # 清除多余的html语句 text = re . sub ( '[#\n]*' , '' , text ) # 清除换行符与#符号 text = re . sub ( '(http://.*)$' , '' , text ) # 清除文末的网址 return text else : return None def get_chinese_text ( raw ) : """