python爬取QQ空间说说并生成词云
以下是生成的词云图
我的环境:Mac
,Anaconda
,Python2.7
,以及各种用到的Python
库
先来说下Anaconda
Anaconda 是一个可用于科学计算的 Python 发行版,支持 Linux、Mac、Windows系统,内置了常用的科学计算包。它解决了官方 Python 的两大痛点。
- 第一:提供了包管理功能,Windows 平台安装第三方包经常失败的场景得以解决,
- 第二:提供环境管理的功能,功能类似 Virtualenv,解决了多版本Python并存、切换的问题。
conda 是 Anaconda 下用于包管理和环境管理的工具,功能上类似 pip 和 vitualenv 的组合。安装成功后 conda 会默认加入到环境变量中,因此可直接在命令行窗口运行命令 conda
conda 的环境管理与 virtualenv 是基本上是类似的操作。
# 查看帮助conda -h
# 基于python3.6版本创建一个名字为python36的环境conda create --name python36 python=3.6
# 激活此环境source activate python36 # linux/mac# 再来检查python版本,显示是 3.6python -V # 退出当前环境source deactivate python36
# 删除该环境conda remove -n python36 --all# 查看所以安装的环境conda info -e
conda 的包管理功能可 pip 是一样的,当然你选择 pip 来安装包也是没问题的。
# 安装 matplotlibconda install matplotlib# 查看已安装的包conda list
# 包更新conda update matplotlib# 删除包conda remove matplotlib
在 conda 中 anything is a package。conda 本身可以看作是一个包,python 环境可以看作是一个包,anaconda 也可以看作是一个包,因此除了普通的第三方包支持更新之外,这3个包也支持。比如: Anaconda 的镜像地址默认在国外,用 conda 安装包的时候会很慢,目前可用的国内镜像源地址有清华大学的。修改 ~/.condarc (Linux/Mac)
channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/- defaults
show_channel_urls: true
如果使用conda安装包的时候还是很慢,那么可以考虑使用pip来安装,同样把 pip 的镜像源地址也改成国内的,豆瓣源速度比较快。修改 ~/.pip/pip.conf (Linux/Mac)
[global]trusted-host = pypi.douban.comindex-url = http://pypi.douban.com/simple
环境搭建好之后就可以开始愉快地玩数据分析了。
爬取动态内容
- 因为动态页面的内容是动态加载出来的,所以我们需要不断下滑,加载页面
- 切换到当前内容的frame中,也有可能不是frame,这里需要查看具体情况
- 获取页面源数据,然后放入xpath中,然后读取
# 下拉滚动条,使浏览器加载出动态加载的内容,# 我这里是从1开始到6结束 分5 次加载完每页数据for i in range(1,6):height = 20000*i#每次滑动20000像素strWord = "window.scrollBy(0,"+str(height)+")"driver.execute_script(strWord)time.sleep(4) # 很多时候网页由多个<frame>或<iframe>组成,webdriver默认定位的是最外层的frame,# 所以这里需要选中一下说说所在的frame,否则找不到下面需要的网页元素driver.switch_to.frame("app_canvas_frame")selector = etree.HTML(driver.page_source)divs = selector.xpath('//*[@id="msgList"]/li/div[3]')
生成词云
生成词云需要用到的库:
wordcloud
, 生成词云matplotlib
, 生成词云图片jieba
,显示中文。
#coding:utf-8from wordcloud import WordCloudimport matplotlib.pyplot as pltimport jieba#生成词云def create_word_cloud(filename):text= open("{}.txt".format(filename)).read() # 结巴分词wordlist = jieba.cut(text, cut_all=True)wl = " ".join(wordlist) # 设置词云wc = WordCloud( # 设置背景颜色background_color="white", # 设置最大显示的词云数max_words=2000, # 这种字体都在电脑字体中,一般路径font_path='/System/Library/Fonts/PingFang.ttc',height= 1200,width= 1600, # 设置字体最大值max_font_size=100, # 设置有多少种随机生成状态,即有多少种配色方案random_state=30,)myword = wc.generate(wl) # 生成词云# 展示词云图plt.imshow(myword)plt.axis("off")plt.show()wc.to_file('py_book.png') # 把词云保存下if __name__ == '__main__':create_word_cloud('qq_word')
所有完整代码已放github
github地址https://github.com/Jimmy9876/QZone_spider
http://www.aibbt.com/a/22275.html
python爬取QQ空间说说并生成词云相关推荐
- Python入门--爬取淘宝评论并生成词云
Python爬取淘宝评论并生成词云 最新修改于2021/04/01 所需相关Python第三方库(目前最新版本即可) 推荐使用Anaconda,其使用十分方便.快捷. requests库 json库 ...
- php取qq空间说说id,Python爬取qq空间说说的实例代码
具体代码如下所示: #coding:utf-8 #!/usr/bin/python3 from selenium import webdriver import time import re impo ...
- 用Python爬取B站弹幕并做成词云
用Python爬取B站弹幕并做成词云 一.获取视频的cid号 1.进入想爬的视频,打开浏览器设置里的"开发者工具": 进入NetWork后等待requests刷出,数据够了后可随意 ...
- python爬取qq空间锁密图片_Python3爬取QQ空间信息(下)
|下载W3Cschool手机App,0基础随时随地学编程>>戳此了解| 导语 内容回顾: Python爬取QQ空间信息(上) 按照(上)中的安排,本期内容为抓取QQ空间的好友信息并做可视化 ...
- python爬取QQ空间好友说说并生成词云
最近自己玩爬虫玩得很嗨.想到爬QQ空间主要是因为在看网课的时候有不少人刷弹幕要去爬前女友空间..咳咳,虽然我没有前女友,但是这不失为一个有趣的练手机会.(爬完之后发现不会留下访客记录!确实很适合爬前女 ...
- 用python爬取qq空间内容_利用Fiddler抓包和py的requests库爬取QQ空间说说内容并写入文件...
[Python] 纯文本查看 复制代码#!C:\Program Files\Python36 python # -*- coding: UTF-8 -*- """ @au ...
- python电影评论的情感分析流浪地球_python爬取豆瓣流浪地球影评,生成词云
代码很简单,一看就懂. (没有模拟点击,所以都是未展开的) 地址: https://movie.douban.com/subject/26266893/reviews?rating=&star ...
- 看看你爱的他今天是什么‘颜色‘ -- Python爬取微博评论制作专属偶像词云
简介:快来拿出你珍藏的pick star,用大家对他的爱重塑一个他吧.通过爬取微博评论,制作你的偶像图片词云,天天都是不重样的哦! 很多人学习python,不知道从何学起. 很多人学习python,掌 ...
- 豆瓣电视剧评论的爬取以及进行情感分析+生成词云
很多时候我们要了解一部电视剧或电影的好坏时都会去豆瓣上查看评分和评论,本文基于豆瓣上对某一部电视剧评论的爬取,然后进行SnowNLP情感分析,最后生成词云,给人一个直观的印象 1. 爬取评论 以前段时 ...
最新文章
- OpenStack 多节点纳管 vCenter 5.5
- 七问唐骏:真的性格好就能成功?
- 你成为不了架构师的原因!!!
- idea配置Run Dashboard的方法(亲测有效)
- python怎么调用局部变量_python基础:局部变量--全局变量的使用
- P6030-[SDOI2012]走迷宫【高斯消元,tarjan,期望dp】
- C++ —— C++内联函数
- 不规则图形数格子的方法_【微课堂】人教版五年级数学(上)6.5不规则图形的面积图文精讲+教学视频+同步练习...
- 漫步微积分六——极限的概念
- 计算机丢失pcdsp.dll,计算机libcef.dll丢失
- 在ASP.NET中防止注入攻击
- 大数据分析如何保证数据质量
- js获取窗口宽度高度
- PHP的.htaccess作用
- 解决ubuntu克隆github上的项目速度很慢的问题
- 【python绘图】seaborn(sns)的主题风格
- 网易2019实习生招聘编程题解答
- OS-S1 操作系统概论
- MySQL数据库教程天花板,mysql安装到mysql高级,强|硬 宋红康版(自用不可外传)
- spark.read.option参数