爬取论坛 ---> 最佳答案总排行
本帖最后由 zltzlt 于 2019-10-6 17:35 编辑Python 爬虫 | 爬取论坛最佳答案总排行
项目需求:
[*]爬取论坛最佳答案总排行
[*]将爬取的数据保存成一张柱状图
开发准备:
[*]第三方模块:requests、pyecharts
[*]内置模块:re
详细步骤:
1. 定义 GetPage() 函数,用于爬取 此网页。(记得设置 headers)
通过观察,我们可以发现论坛网页编码是 GBK:
所以将得到的二进制数据用 GBK 解码:
2. 定义 Find() 函数,从网页代码中找出可以提取的数据(用户名,累计最佳答案个数)。
要提取这部分,首先要在网页找到。由于 <h2>最佳总排行</h2> 前面的部分对我们的查找没有帮助,所以大可将它去掉:
由于我们需要获取用户名和累计最佳答案个数,先观察一下规律。
可以看到,用户名是包含在 title 中的,个数跟在 “累计:” 后面。根据这一特点,写出正则表达式代码:
这时 res 是一个列表,每个元素是用户信息,所以来个 for 循环迭代(我的方法真笨):
最后将数据返回。
3. 定义 Charts 函数,将数据渲染成柱状图。
先创建一个 Bar(pyecharts.charts.Bar)的实例,设置 x 轴和 y 轴数据(bar.add_xaxis()、bar.add_yaxis()),最后渲染(bar.render())成网页文件 '鱼 C 论坛最佳答案排行榜.html'。
4. 定义主程序函数 Main()。
到这里,整个程序就大功告成啦{:10_298:}看一下生成的柱状图文件:
可以看到,塔利班大佬高居首位,1726 个最佳答案{:10_275:}而我居第八(嘿嘿{:10_279:})
有兴趣的同学们还可以去了解 pyecharts 的其他功能(比如饼图、折线图、散点图等等),绝对会令你惊讶{:10_256:}
程序源代码:
**** Hidden Message *****
更新日志:
2019-10-06 17:18 更新
[*]不仅可以生成柱状图,还可以生成词云图、折线图。
词云图:
折线图:
源代码:
**** Hidden Message ***** 本帖最后由 zltzlt 于 2019-10-6 17:36 编辑
@小甲鱼 申精{:10_256:} zltzlt 发表于 2019-10-6 15:59
@小甲鱼申精
好吧......信你{:10_333:} 学习大神作品。
看看 zltzlt 发表于 2019-10-6 15:59
@小甲鱼 申精
不鼓励爬本论坛……
服务器君在厕所阴暗处哭泣…… 小甲鱼 发表于 2019-10-7 18:16
不鼓励爬本论坛……
服务器君在厕所阴暗处哭泣……
{:10_245:} zltzlt 发表于 2019-10-7 18:17
{:5_109:} 小甲鱼 发表于 2019-10-7 18:16
不鼓励爬本论坛……
服务器君在厕所阴暗处哭泣……
看到帖子有一个想法冒出来了,{:10_334:}采集下数据,看看渔友发帖时间,回帖时间,做个数据汇总{:10_256:}{:10_254:} 小甲鱼 发表于 2019-10-7 18:20
这个不应该用折线图的{:10_256:}
@zltzlt _2_ 发表于 2019-10-20 14:50
这个不应该用折线图的
@zltzlt
只是锻炼一下{:10_256:} zltzlt 发表于 2019-10-20 14:51
只是锻炼一下
小学没学吗? _2_ 发表于 2019-10-20 15:00
小学没学吗?
锻炼一下用 Python 画折线图 zltzlt 发表于 2019-10-20 15:06
锻炼一下用 Python 画折线图
这又是一个新的小技巧,来介绍一下它的API吧 _2_ 发表于 2019-10-20 15:08
这又是一个新的小技巧,来介绍一下它的API吧
嗯 谢谢楼主分享 顶楼主啦..希望楼主多发精品好帖啦..... 这个牛逼 学习 可以的
页:
[1]
2