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

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

GitHub高级搜索指南的更多相关文章

  1. 使用github高级搜索

    想瞅瞅github上面有哪些中国开发者最活跃,followers最多.可以按照下面的步骤: 打开github的搜索页面 输入 location:china .点search 然后选择不同的排序方式. ...

  2. Github 高级搜索功能

    参考文章链接:https://zhuanlan.zhihu.com/p/55294261 GitHub 提供高级搜索方式. 一.明确搜索仓库标题.仓库描述.README 1.只想查找仓库名称包含XX的 ...

  3. GitHub高级搜索

     GitHub是开发目前最为活跃的开源网站和代码托管地,虽然我们经常使用GitHub,关注各种开源项目,但可能有很多人并不太了解GitHub的搜索功能的使用.GitHub提供了简单搜索和高级搜索,高级 ...

  4. 使用Github的高级搜索功能

    使用Github的高级搜索功能 1. 首先,提供Github高级搜索帮助页面 https://help.github.com/categories/search/ 2. 搜索语法 https://he ...

  5. GitHub的高级搜索功能

    1. 首先,提供Github高级搜索帮助页面https://help.github.com/categories/search/     2. 搜索语法https://help.github.com/ ...

  6. Google高级搜索语法

    Google高级搜索语法   Google搜索果真是一个强悍的不得了的搜索引擎,今天转了一些 google的高级搜索语法 希望能帮助到大家. 一.allinanchor: anchor是一处说明性的文 ...

  7. 如何使用GOOGLE高级搜索技巧

    如何使用GOOGLE高级搜索技巧 一,GOOGLE简介 Google(www.google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发 ...

  8. google、baidu高级搜索技巧

    1.baidu(可以去高级搜索查看更多信息) intitle搜索范围限定在网页标题:intitle:和后面的关键词之间不要有空格----intitle:中国 site搜索范围限定在特定站点中:“sit ...

  9. HelloX项目github协同开发指南

    概述 为了提高协同开发效率,HelloX项目已托管到github网站上.根据目前的开发进展,创建了下列几个子项目: HelloX操作系统内核项目:https://github.com/hellox-p ...

随机推荐

  1. P1056 骑士游历

    题目描述 给出一个8*8的空棋盘,其中行由a-h编号,列由1-8编号. 再给出起点和终点,问,骑士至少需要几步可以从起点移到终点.骑士是走日的.类似于中国象棋的马. 输入格式 输入两个字符串,每个字符 ...

  2. CodeForces - 1189 E.Count Pairs (数学)

    You are given a prime number pp, nn integers a1,a2,…,ana1,a2,…,an, and an integer kk. Find the numbe ...

  3. 使用condition 实现线程顺序执行

    书上给的例子都是ABCABC这种,比较简单,复杂点的如A0B0C0, A0A1A2没有,手动实现下,做个记录 1. A0 A1 A2 A3 public class Demo0 { private s ...

  4. 关于redis有序集合http://www.runoob.com/redis/redis-sorted-sets.html

    redis有序集合和集合一样,元素都是字符串类型,而且不能重复 和普通集合不同的是它关联一个double类型的分数,redis是同个元素的分数来对元素进行排序 有序集合的元素是唯一的,但是分数可以重复 ...

  5. 激励函数 (Activation)

    softplus是有关概率的巴拉巴拉? Torch 中的激励函数有很多, 不过我们平时要用到的就这几个. relu, sigmoid, tanh, softplus. 那我们就看看他们各自长什么样啦. ...

  6. jsp中获取页面的相对路径

    1.在jsp页面的上方加上这段java代码 <%//        request.getContextPath() 返回当前页面所在的应用的名字://        request.getSc ...

  7. Serverless 实战 —— Funcraft + OSS + ROS 进行 CI/CD

    前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute):函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准 ...

  8. 洛谷$P$3066 逃跑的$BarnRunning\ Away\ From…$ $[USACO12DEC]$ 主席树

    正解:主席树 解题报告: 传送门! 1551做$dp$实在是做不下去了,,,于是来水点儿别的题$QAQ$ 然后这题,挺纸老虎的我$jio$得,,,看起来很难的样子然后仔细想下之后发现依然是个板子呢,, ...

  9. Linux下自动化部署ASP.NET CORE 3.1(Docker+Jenkins+Nginx)

    1.先配置好Docker阿里云加速,可以使用阿里云容器服务 (可自己在阿里云申请,要不然安装东西直接很慢)注意:https://XXXX.mirror.aliyuncs.com为阿里云加速服务分配地址 ...

  10. echarts在一个折线/柱状图浮窗显示多条数据

    解决问题就在data里面,首先 data里面是可以json数组形式,如官方API上的 name:”“, value:”“,等 value是echart识别折线图的key值.1.来看数据格式 data: ...