Hello,大家好,我是你们的技术小通,今天给大家带来一篇关于如何利用Python获取GitHub近一周热门项目的文章。
相信大家都知道,GitHub是全球最大的开源代码托管平台,每天都有无数优秀的项目在这里诞生,代表了最新的技术趋势和创新方向。而我们作为技术爱好者,怎能错过这些炙手可热的项目呢?
如何利用Python获取GitHub近一周的热门项目呢?
其实,这并不难。GitHub提供了强大的API,我们可以通过Python编写代码来获取最新的热门项目信息。下面跟着小通一起来看一下吧!
GitHub Trending网页
GitHub Trending网页是一个汇集了近期热门项目的宝藏页面。在这里,你可以一览全球开发者们最新的创意和技术成果。我们可以通过在浏览器中输入"github.com"加上"trending"找到这个神奇的网页。
github trending网页
在这个页面选择开发语言和日期范围就可以看到,近期最热门的项目信息,如项目名称、作者、星标数等。
接下来,我们来学习一下,如何使用Python的魔法技术,轻松抓取GitHub Trending网页上的项目信息吧。
分析GitHub Trending网页
小通更擅长使用python,我们就来爬取一下python近一个星期有哪些热门的项目吧。在Trending的网页上,选择Language为python,Date range为This Week,再按下F12键。在这里我们找到页面的源码python?since=weekly,查看请求的URL和响应体。
• URL:/trending/python?since=weekly
• 响应体如下图所示:
trending页面的页面响应体使用python获取页面的响应体
而在python中,我们常使用requests库发送HTTP请求,获取网页的HTML源码,再使用BeautifulSoup库解析HTML,提取出我们需要的项目信息。
通过Python的requests库发送HTTP请求,获取网页的HTML源码,然后使用BeautifulSoup库解析HTML,提取出我们需要的项目信息,如项目名称、作者、星标数等。最后,我们可以将这些信息整理成通俗易懂的格式,展示给大家。
爬取热门项目的stars和forks数量信息
首先,我们在源码中查找第一个项目名“MetaGPT”,发现第一次出现在:
仔细观察,我们发现MetaGPT项目的所有信息都被放置在中,其他的所有项目也是一样,因此我们可以用下面的代码找到所有项目的相关信息:
为了更直观地分析HTML源码,小通将article中无关的信息进行了清理,展示在下图,是不是就可以看出,我们应该如何通过解析获取项目信息了呢:
剔除无关信息之后的metaGPT项目介绍html源码
具体地,python解析代码如下:
最后,让我们整理一下采集的信息吧:
给大家展示一下,爬取的热门项目
项目Top1: /geekan/MetaGPT
• stars总数量: 21,222
• forks数量: 2,311
• 本周新增stars数量: 8,180 stars this week
• 项目简介:
多智能体框架:根据一行需求,返回PRD、设计、任务和代码库。
这个项目是一个多智能体框架,它可以根据一个简短的需求描述,自动生成产品需求文档(PRD)、设计文档、任务列表和代码库。这个框架可以帮助开发团队更高效地进行项目规划和管理。通过简单地提供需求描述,团队成员可以快速获得完整的项目文档和任务清单,从而更好地理解项目的目标和实施计划。这个框架的价值在于提供了一个自动化的工具,大大减少了项目管理的时间和精力成本,提高了团队的工作效率。无论是个人开发者还是大型团队,都可以受益于这个多智能体框架的使用。
项目Top2: /kuafuai/DevOpsGPT
• stars总数量: 1,350
• forks数量: 195
• 本周新增stars数量: 527 stars this week
• 项目简介:
这个项目是一个多智能体系统,用于基于人工智能的软件开发。它可以将自然语言需求转化为可工作的软件。支持任何开发语言,并扩展现有的基础代码。该项目的价值在于提高软件开发的效率和准确性,通过自动化将需求转化为可执行的代码,节省开发人员的时间和精力。
项目Top3: /morph-labs/rift
• stars总数量: 1,413
• forks数量: 64
• 本周新增stars数量: 430 stars this week
• 项目简介:
Rift是一个为个人AI软件工程师打造的AI原生语言服务器。该项目的价值在于提供了一个强大的工具,可以帮助个人AI软件工程师更高效地开发和管理他们的项目。Rift利用AI技术,提供了智能的代码补全、语法检查和错误修复等功能,大大提升了编码的准确性和效率。此外,Rift还支持多种编程语言和框架,使得个人AI软件工程师可以更灵活地进行开发。无论是初学者还是经验丰富的开发者,都能从Rift中受益,加快项目的开发进度,提高代码质量。
总结
想要获取Github上最近一周的热门项目信息,主要分为3个步骤:
1、利用requests向github的trending网页接口发送请求信息,获取响应信息;
2、在页面上按下F12,观察我们需要解析的数据在HTML源码中的位置;
3、利用BeautifulSoup库解析HTML源码获取项目的stars、forks、info等数据。
悄悄告诉大家,项目的中文简介是小通通过免费的ChatGPT接口总结的哦,想知道我是怎么实现的吗?下一节告诉大家~
领取专属 10元无门槛券
私享最新 技术干货