python mysql连接池 知乎_5000行python代码+可视化60W数据,告诉你知乎用户不为人知的事...

友情提示:文末有...

一次完整的python分析+可视化展示,是什么样的?

比如我想知道知乎用户的学历,是否都是985呢?我还想知道知乎最受关注的话题都是些什么?高端人士都喜欢看什么书呢?“人在XX,刚下飞机?”这句话出现的频率有多高呢?

最快的方法是用python爬虫然后加BI可视化分析!python爬虫仅需几步就可以完成:

找到网页URL,查看HTML代码

在HTML代码中找到你要提取的数据

写python进行网页请求和解析

存储数据,Excel导出

于是我使用10000秒的时间写了5000行代码,爬取了知乎下5646个话题与回答,10W+用户,和我预想的结果完全不一样。

我们先放一部分代码,完整的可以到文末看评论~

最后爬取了大概快60W的数据,我们接下来要对它进行数字可视化的分析。

我们想通过数据知道什么?

知乎人均985吗?

知乎最受关注的话题是哪些?这些话题的关系图谱是怎么样的?

知乎大佬最推荐的书是哪些?

知乎的娱乐栏目最受关注的都是哪些?

在分析之前,我们得挑选一个数据可视化工具,有人会问:为什么不用python呢?因为python处理数据或许很不错,但其实它并不简单,分析起来是很困难的,SQL语句、Pandas和Matplotlib这些十分繁琐,一般人也不会。

所以我想到既然有现成数据的话,那选择一个可以直接连接数据源的工具就更好了,我想到了BI里的佼佼者FineBI,轻便敏捷的数据分析能力,浏览器里就可以直接操作,而且对于大数据量可以及时响应,直接拖拽即可生成可视化。

虽然主打的是企业级的数据分析工具,但是个人也是可以用的,而且是free的,功能并不会减少,可谓良心。很多企业依然有各种各样的数据问题:IT-业务沟通困难,领导决策缺乏数据支撑....

FineBI从IT、业务、管理层三个方面去解决问题:

通过自助数据集功能,普通业务人员就能对数据做筛选、切割、排序、汇总等,自助灵活地达成期望的数据结果。

BI工具就介绍到这里,接下来我们看知乎的可视化分析,以下都是由FineBI所作。

1、知乎是否人均985?

一看这个学校,我自卑了!!!果真人均985,211,怪不得知乎上很多回答都显得很有哲理的样子,果然,学历越高的人见识越多,看来好好学习真的很重要。不过,我说知乎的学历比虎扑高没有人反对吧。

当然,这些数据的前提都是基于你自己填写的是准确的,大专给自己填哈佛我也没办法...

2、知乎最受关注的话题是哪些?

大佬们上知乎,都会去浏览什么问题呢?就拿数据领域来说,这两份关系图可以说是最全的了,如果你想从0-1进入数据行业,这是一个很好的基础学习方向。

3、知乎大佬最推荐的书是哪些?

读万卷书,行万里路,没点知识怎么好意思刷知乎呢?

我把所有关于文学书籍推荐的问题都爬了一遍,统计下来就是这10本书排名前列,很遗憾,我只看过1本...

4、在娱乐类目上,知乎的人都喜欢关注什么呢?

其实和微博一样,知乎也算是一个获取知识的平台,而且现在越来越多的人都把知乎当作微博来看,评论区的智商会高很多(我没有别的意思)。

一直流传着一句话:微博前脚火什么,知乎后脚扒什么...真实!

总结

知乎的分析就到这里了,你可以看见python+finebi真的就是非常棒的组合,无论是数据处理,还是数据展示,想要分析什么,简直就是手到擒来!

最后,以上的分析如果有不足的地方,欢迎告诉我!

以下是Python爬取知乎数据代码实现,其中使用了八爪鱼爬虫工具和数据预处理库pandas: ```python import requests import json import pandas as pd from octopus import Octopus # 设置请求头信息 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299' } # 构造请求url def get_url(keyword, offset): url = 'https://www.zhihu.com/api/v4/search_v3?t=general&q={}&correction=1&offset={}&limit=20&lc_idx=0&show_all_topics=0&search_hash_id='.format(keyword, offset) return url # 爬取知乎数据并保存为json文件 def crawl_data(keyword): otto = Octopus( concurrency=8, auto_start=True, expiration_in_seconds=120, raise_all_exceptions=True, worker_lifespan_in_seconds=120 ) result = [] for i in range(0, 100, 20): url = get_url(keyword, i) otto.enqueue(get_data, url) otto.wait() for res in otto.results(): result += res with open('zhihu.json', 'w', encoding='utf-8') as f: json.dump(result, f, ensure_ascii=False) # 解析json文件并使用pandas进数据预处理 def process_data(): with open('zhihu.json', 'r', encoding='utf-8') as f: data = json.load(f) results = [] for item in data: result = {} result['问题'] = item['highlight']['title'] result['链接'] = 'https://www.zhihu.com/question/{}'.format(item['object']['question']['id']) result['答案'] = item['highlight']['description'] results.append(result) df = pd.DataFrame(results) df.to_excel('zhihu.xlsx', index=False) # 获取数据 def get_data(url): response = requests.get(url, headers=headers) data = response.json()['data'] result = [] for item in data: if item['object']['type'] == 'answer': result.append(item) return result if __name__ == '__main__': crawl_data('Python') process_data() ``` 此代码实现了爬取知乎关于“Python”的数据,并将数据保存成json文件,再使用pandas进数据预处理,最终将结果保存成Excel文件。你可以根据自己的需求修改关键词以及保存的文件格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值