还在为自学时找不到适合练手的项目而苦恼?

还在好奇别人是如何在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

最新文章

  1. 【JAVA】Spring 数据源配置整理
  2. golang append
  3. 利用VMware虚拟机(Android-x86 2.2)和eclipse,调试安卓代码
  4. Linux编译安装Mysql步骤
  5. 黄聪:使用$.getJSON解决ajax跨域访问 JQuery 的跨域方法(服务器端为wordpress程序)
  6. rem是如何实现自适应中的?
  7. footer居底
  8. Oracle中decode方法的作用
  9. 重构第四天 : 用多态替换条件语句(if else & switch)
  10. 纯JAVA驱动:sqlserver版本不同,驱动与连接也有所区别
  11. thinkPHP 输出及其模板调用(三)
  12. IOS基础开发二(iphone计算器)
  13. jmeter性能测试 套路一
  14. iOS通用链接(Universal Links)突然点击无效的解决方案
  15. mysql常用基础操作语法(十二)~~常用数值函数【命令行模式】
  16. wx预览图片
  17. Redis Server installation FAQs
  18. Database Course Summary 001
  19. bitcoin双花
  20. Linux就业技术指导(五):Linux运维核心管理命令详解

热门文章

  1. 【mac】关于mac的一些命令
  2. linux单 open 设备
  3. 【t066】致命的珠宝
  4. 【47.40%】【BZOJ 1875】[SDOI2009]HH去散步
  5. 10款Web前端工具
  6. HDU1556 Color the ball & 牛客 contest 135-I 区间 [差分标记]
  7. 假期汇总表handler中涉及的基础知识
  8. pyinstaller打包exe文件闪退的解决办法
  9. CentOS 下 git 401 Unauthorized while accessing 问题解决
  10. 洛谷$P2805\ [NOI2009]$植物大战僵尸 网络流