Python爬虫分析微博热搜关键词的实现代码


Posted in Python onFebruary 22, 2021

1,使用到的第三方库
requests
BeautifulSoup 美味汤
worldcloud 词云
jieba 中文分词
matplotlib 绘图
2,代码实现部分

import requests
import wordcloud
import jieba
from bs4 import BeautifulSoup
from matplotlib import pyplot as plt
from pylab import mpl

#设置字体
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False

url = 'https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&wvr=6'

try:
  #获取数据
  r = requests.get(url)
  r.raise_for_status()
  r.encoding = r.apparent_encoding
  soup = BeautifulSoup(r.text,'html.parser')
  data = soup.find_all('a')
  d_list = []
  for item in data:
    d_list.append(item.text)
  words = d_list[4:-11:]
  #中文分词
  result = list(jieba.cut(words[0]))
  for word in words[1::]:
    result.extend(jieba.cut(word))
  redata = []
  for it in result:
    if len(it) <= 1:
      continue
    else:
      redata.append(it)
  result_str = ' '.join(redata)
  #输出词云图
  font = r'C:\Windows\Fonts\simhei.ttf'
  w = wordcloud.WordCloud(font_path=font,width=600,height=400)
  w.generate(result_str)
  w.to_file('微博热搜关键词词云.png')
  key = list(set(redata))
  x,y = [],[]
  #筛选数据
  for st in key:
    count = redata.count(st)
    if count <= 1:
      continue
    else:
      x.append(st)
      y.append(count)
  x.sort()
  y.sort()
  #绘制结果图
  plt.plot(x,y)
  plt.show()
except Exception as e:
  print(e)

 

3,运行结果

Python爬虫分析微博热搜关键词的实现代码
Python爬虫分析微博热搜关键词的实现代码

到此这篇关于Python爬虫分析微博热搜关键词的文章就介绍到这了,更多相关Python爬虫微博热搜内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python判断端口是否打开的实现代码
Feb 10 Python
python之模拟鼠标键盘动作具体实现
Dec 30 Python
跟老齐学Python之关于循环的小伎俩
Oct 02 Python
Python实现的数据结构与算法之链表详解
Apr 22 Python
Python3.x对JSON的一些操作示例
Sep 01 Python
python的schedule定时任务模块二次封装方法
Feb 19 Python
通过cmd进入python的实例操作
Jun 26 Python
对python中url参数编码与解码的实例详解
Jul 25 Python
python字典的setdefault的巧妙用法
Aug 07 Python
Python jieba库用法及实例解析
Nov 04 Python
Django 简单实现分页与搜索功能的示例代码
Nov 07 Python
解决python -m pip install --upgrade pip 升级不成功问题
Mar 05 Python
anaconda升级sklearn版本的实现方法
Feb 22 #Python
详解Python 中的 defaultdict 数据类型
Feb 22 #Python
python快速安装OpenCV的步骤记录
Feb 22 #Python
Python中生成ndarray实例讲解
Feb 22 #Python
python爬虫利用代理池更换IP的方法步骤
Feb 21 #Python
Python用requests库爬取返回为空的解决办法
Feb 21 #Python
python利用proxybroker构建爬虫免费IP代理池的实现
Feb 21 #Python
You might like
php 表单验证实现代码
2009/03/10 PHP
php的laravel框架快速集成微信登录的方法
2016/12/12 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
2017/11/20 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
面向对象Javascript核心支持代码分享
2012/05/23 Javascript
JavaScript中return false的用法
2015/03/12 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
微信小程序 传值取值的几种方法总结
2017/01/16 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
Python中使用SAX解析xml实例
2014/11/21 Python
Python实现将Excel转换为json的方法示例
2017/08/05 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
python3多线程知识点总结
2019/09/26 Python
python 初始化一个定长的数组实例
2019/12/02 Python
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
市场部管理制度
2014/02/02 职场文书
电力公司个人求职信范文
2014/02/04 职场文书
医药类个人求职的自我评价
2014/02/12 职场文书
上课打牌的检讨书
2014/02/15 职场文书
实践论读书笔记
2015/06/29 职场文书
少先队入队仪式主持词
2015/07/04 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书
OpenStack虚拟机快照和增量备份实现方法
2022/04/04 Servers