我是靠谱客的博主 踏实黑猫,最近开发中收集的这篇文章主要介绍github_crawler测试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

项目背景

爬取github上awssome-java这个项目中所提到的一些上榜项目,分析这项目的活跃程度(start,fork,open_issue)。实现一个类似于”github趋势”的功能。

核心流程

通过程序抓取awesome-java中所有上榜项目内容,解析之后存储到数据库,然后进行数据分析,以柱状图的形式展示在页面中,依此来分析项目活跃程度。

模块划分

1.抓取模块:获取服务器上的网页内容

预期实际分析
抓取github上awssome-java这个项目中的上榜项目网页中的URL都被提取出来模块功能正常

2.分析模块:分析网页内容,解析出需要的数据

预期实际分析
获取到每个项目的start数,fork数,opened_issue数成功获取模块功能正常

3.存储模块:存储数据到数据库中

预期实际分析
抓取数据,保存到数据库中测试出现异常当前url对应的不是一个github的项目,为了不影响后面的抓取,用try catch把抓取的循环包裹起来。

性能优化:
通过打印每个环节的时间,先找到性能瓶颈。

获取页面入口获取项目列表解析所有项目时间存取数据库时间整个项目总时间
3s0.4s130s4s138s

得出性能最差的是循环调用Github API。所以引入多线程的方式来实现批量发送数据

1个线程5个线程10个线程15个线程20个线程100个线程
138秒38秒22秒18秒13秒9秒

经过测试我们选择20个线程。
4.展示模块:通过一个网页来展示这些抓取到数据的图表信息。

预期实际分析
获取到数据,展示图表成功获取模块功能正常

在这里插入图片描述

总结

经过测试,可以正常获取github上awssome-java这个项目中的上榜项目,并且将项目根据活跃程度(start,fork,open_issue)展示出柱状图。

最后

以上就是踏实黑猫为你收集整理的github_crawler测试的全部内容,希望文章能够帮你解决github_crawler测试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部