知行编程网知行编程网  2022-03-24 03:00 知行编程网 隐藏边栏 |   抢沙发  7 
文章评分 0 次,平均分 0.0

作者:Walker  个人博客:

http://101python.cn/ 

Flask是Django之外用Python实现的另一优秀Web框架。相对于功能全面的Django,Flask以自由、灵活著称。在开发一些小应用的时候,使用Django会有“杀鸡用牛刀”的赶脚,而使用Flask就非常合适。本文将使用Flask开发一个微博用户画像的生成器,最后效果如下:

玩转Python,用Flask做一个微博画像采集小工具

开发步骤如下:

  1. 抓取微博用户数据;

  2. 分析数据,生成用户画像;

  3. 网站实现,美化界面。

一、微博抓取

这里使用移动端的微博(m.weibo.cn),以为例。本教程使用chrome浏览器进行调试。

  1. 在“发现”中搜索“古力娜扎”,点击进入她的主页;

  2. 开始分析请求报文, 右击打开调试窗口,选择调试窗口的"网络(network)"标签;

  3. 选择"Preserve Log",刷新页面;

  4. 分析各条请求过程可以发现博文的数据是从https://m.weibo.cn/api/container/getIndex?XXX 类似的地址中得到的。其主要参数为type(固定值)、value(博主ID)、containerid(标识,请求中返回)、page(页码)

玩转Python,用Flask做一个微博画像采集小工具

下面开始实现爬取博文的代码。

}

In [33]:

玩转Python,用Flask做一个微博画像采集小工具

至此,用户的数据已准备就绪,接下来开始生成用户画像。

二、生成用户画像

1.提取关键词

这里从博文列表中提取出关键字,分析出博主的发表的热词

2.生成词云图



三、实现Flask应用

开发Flask不像Django那么复杂,小应用几个文件就可以完成。步骤如下:

1. 安装

使用pip安装flask,命令如下:

2.实现应用逻辑

简单来说,一个Flask应用就是一个Flask类,由route函数控制它的url请求。代码实现如下:

以上就是全部的代码,简单吧?当然,单文件结构只适合小的应用,随着功能和代码量的增加,还是需要把代码分离中不同的文件结构中以便开发和维护。最后,还差一个页面的模版文件。

3.模版开发

模版需要有一个输入的表单和用户信息展示,基于Jinja2模版引擎。熟悉Django模版的应该可以很快上手,流程也和Django类型,在项目根目录下建一个名为templates的文件夹并新建一个名为index.html的文件,代码如下:

这样,应用实现完毕,项目结构如下:

进入项目文件夹,启动项目:

 to quit)

然后浏览器打开http://127.0.0.1:5000 地址就可以看到本教程最上面的效果。

以上只是一个初步实现,还有很多需要完善的地方。比如,如果发布的博文比较多时,获取时间比较长,可以考虑加个缓存,存储已获取的用户,避免重复请求,前端也可以加个loading效果。本教程展示的只是单用户,后面也可以批量获取用户信息,生成一个群体的用户画像。


往期热文:

菜鸟学Python年度抽奖,连续抽奖7天

9本优秀程序员必读的书


本篇文章来源于: 菜鸟学Python

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享