还在为自学时找不到适合练手的项目而苦恼?
还在好奇别人是如何在GitHub众多项目中找到高质量代码的?
真的是因为他们独具慧眼吗?
不,其实他们只是掌握了正确的搜索方法。
下面介绍几种常用的GitHub高级搜索方法。相信你看完之后也能很快在GitHub众多项目中找到自己所需的项目。
GitHub项目页介绍
首先先介绍下,一个GitHub项目页的构成。
如上图,其中包含仓库名、star数量、fork数量、描述、最后更新时间、readme。我们可以根据需求按照上面要素过滤掉不符合自己需求的项目。
例子
举个例子:假设我们要搜索一些高质量的并使用Python开发的爬虫项目。
普通搜索
相信有很多人会采用下面的方式进行搜索。
可以看到,这种方式搜索有以下几个缺点:
- 海量搜索结果(
20K+
),难以找到自己需要的项目。 - “年代久远”的项目混入其中,很多年代久远的项目当下并适用当下情况,尤其是爬虫。
- 项目质量良莠不齐,高质量的项目和质量一般的项目混在一起。
- 包含多种编程语言
这种情况下我们就需要加入限定条件进行过滤,也就是我们所说的高级搜索。
高级搜索
1. 过滤出star数量大于2000的项目
过滤语句:
-
star数量大于2000
关键字 stars:>2000
-
star数量在1000~2000之间
关键字 stars:1000..2000
经过过滤后,可以看到还剩下
22
个项目,其中包含了 -
非Python开发的项目
-
时间久远的项目
我们继续过滤。
2. 过滤出Python开发的项目
过滤语句:
关键词 language:编程语言
追加到上条过滤语句后,即为:爬虫 stars:>2000 language:Python
。
过滤效果如下:
符合要求的项目数量还剩14
个,其中还包含几个2018年的项目,我们继续过滤。
3. 过滤出最后更新时间2019年10月1日之后的项目
过滤语句:
关键字 pushed:>xxxx-xx-xx
对应的本例的语句就是:
爬虫 stars:>2000 language:Python pushed:>2019-10-01
经过此次过滤后,只剩下9
个符合要求的项目。到此,我们就得到了Github中使用Python开发的、star数超过2000的、最近两个月内仍有更新的爬虫项目。
补充
除了上面提到的过滤语句外,下面几个过滤语句也很常用。
1.过滤出仓库名中包含关键字的项目
in:name 关键字
eg: in:name python
2.过滤出描述中包含关键字的项目
in:decription 关键字
eg:in:decription python
3.过滤出readme中包含关键字的项目
in:readme 关键字
eg:in:readme python
4.过滤出仓库大小在某个范围的项目
-
大于等于
size:>=数量 关键字
eg:
size:>=5000 python
-
之间
size:最小值..最大值 关键字
eg:
size:20..5000 python
这里注意下,这个数字代表K, 5000代表着5M
以上即为GitHub常用的高级搜索方法。希望大家通过此方法能在GitHub中找到自己所需的项目。
关注公众号西加加先生
一起玩转Python。