python小白也能够分分钟爬取微博数据,并生成有个性的词云,你get到了吗?

Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具备近二十年的发展历史,成熟且稳定。它包含了一组完善并且容易理解的标准库,可以轻松完成不少常见的任务。它的语法很是简捷和清晰,与其它大多数程序设计语言不同,它使用缩进来定义语句。css

Python支持命令式程序设计、面向对象程序设计、函数式编程、面向切面编程、泛型编程多种编程范式。与Scheme、Ruby、Perl、Tcl等动态语言同样,Python具有垃圾回收功能,可以自动管理存储器使用。它常常被看成脚本语言用于处理系统管理任务和网络程序编写,然而它也很是适合完成各类高级任务。Python虚拟机自己几乎能够在全部的做业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具能够将Python源代码转换成能够脱离Python解释器运行的程序。前端

很早前写过一篇怎么利用微博数据制做词云图片出来,以前的写得不完整,并且只能使用本身的数据,如今从新整理了一下,任何的微博数据均可以制做出来,放在今天应该比较应景。python

 

 

本文教你怎么用Python快速建立出有心意词云,即便是Python小白也能分分钟作出来。linux

准备工做web

本环境基于Python3,理论上Python2.7也是可行的,先安装必要的第三方依赖包:数据库

 

 

requirement.txt文件中包含上面的几个依赖包,若是用pip方式安装失败,推荐使用Anaconda安装编程

pip install -r requirement.txtjson

第一步:分析网址flask

打开微博移动端网址 ,找到女神的微博ID,进入她的微博主页,分析浏览器发送请求的过程后端

 

 

打开 Chrome 浏览器的调试功能,选择 Network 菜单,观察到获取微博数据的的接口是 ,后面附带了一连串的参数,这里面有些参数是根据用户变化的,有些是固定的,先提取出来。

 

 

再来分析接口的返回结果,返回数据是一个JSON字典结构,total 是微博总条数,每一条具体的微博内容封装在 cards 数组中,具体内容字段是里面的 text 字段。不少干扰信息已隐去。

 

 

第二步:构建请求头和查询参数

分析完网页后,咱们开始用 requests 模拟浏览器构造爬虫获取数据,由于这里获取用户的数据无需登陆微博,因此咱们不须要构造 cookie信息,只须要基本的请求头便可,具体须要哪些头信息也能够从浏览器中获取,首先构造必需要的请求参数,包括请求头和查询参数。

 

 

 

 

uid是微博用户的id,

· containerid虽然不什么意思,但也是和具体某个用户相关的参数

· page 分页参数

 

 

 

python学习路线分三大阶段:基础-进阶-框架-项目实战

基础第一阶段:基础Python的理解。基础第二阶段面对对象编程(注重编程能力)

基础第三阶段面向对象“设计思想”-封装-继承。基础第四阶段python高级专题。

进阶班第一阶段:linux基础。第二:python web工具。第三python部署工具。

第四关系型数据库。第五Python web框架基础原理。

框架阶段.python web开发第一阶段web.py。基础第二Django基础。

第三flask基础。第四tornado基础,

项目实战:我的博客系统-微信开发-企业OA系统=网盘系统。

第三步:构造简单爬虫

经过返回的数据能查询到总微博条数 total,爬取数据直接利用 requests 提供的方法把 json 数据转换成 Python 字典对象,从中提取出全部的 text 字段的值并放到 blogs 列表中,提取文本以前进行简单过滤,去掉无用信息。顺便把数据写入文件,方便下次转换时再也不重复爬取。

 

 

 

 

第四步:分词处理并构建词云

爬虫了全部数据以后,先进行分词,这里用的是结巴分词,按照中文语境将句子进行分词处理,分词过程当中过滤掉中止词,处理完以后找一张参照图,而后根据参照图经过词语拼装成图。

 

 

最终效果图:

 

 

 

 

哪些人比较适合学Python

1.编程菜鸟新手:很是喜好编程,之后想从事相关工做,可是零基础,不知道入门选择什么编程语言的朋友,实际上是最适合选择Python编程语言的。

2.网站前端的开发人员:日常只关注div+css这些页面技术,不少时候其实须要与后端开发人员进行交互的;

3.SEO人员:不少SEO优化的时候,苦于不会编程,一些程序上面的问题,得不到解决,只能作作简单的页面优化。 如今学会Python以后,你和我同样均可以编写一些查询收录,排名,自动生成网络地图的程序,解决棘手的SEO问题。

4.在校学生:想有一技之长,或者是自学编程的爱好者,但愿快速入门,少走弯路,均可以选择Python语言。

我有一个微信公众号,常常会分享一些python技术相关的干货;若是你喜欢个人分享,能够用微信搜索“python语言学习”关注。

欢迎你们加入千人交流答疑群:588+090+942

相关文章
相关标签/搜索