如何高效地在网上找开源项目?
摄影:产品经理
烤鸭的配菜
学习编程,最高效的还是找个项目,在实际的项目开发中提升自己的编程技能,积累实战经验。如果手边没有项目可做,那就去找开源项目,找开源项目,认准一个网站就够了,那就是 github.com。本文分享如何在 gihtub 上高效的找到自己想要的开源项目。
首先随便打开一个项目,看下一个项目主页包含哪些信息,我已经做了标注:
上图可以看到,一个项目含有的基本信息,这些信息都可以通过搜索框来来匹配,从而更快的找到目标项目。通常星数,观看数,更新日期,表示了一个项目的火热程度。比如说我想搜索 readme 中含有 “web development” 关键字,主要编程语言为 ”Python“,星数大于 3000 的项目,就可以这样搜索:
"web development" in:readme language:python stars:>3000
搜索结果就只有 14 个,大大减轻了自己筛选的负担,结果如下:
下面列举下 GitHub 相关的搜索技巧:
1、通过 in 关键字搜索
关键字 in 可以搜索出 GitHub 上的资源名称 name、说明 description 和 readme 文件中的内容。description 就是 About 那一块的信息。
比如说 python in:name,description,readme
其中,逗号分割表示或的意思,意思就是三者中只要有一个有 python 就行。
2、通过 stars、fork 数量搜索
搜索 GitHub 时用 star 数量和 fork 数量判断这个项目是否优秀的标准之一,我们可以使用 大小,小于,范围等方式过滤:
python in:name stars:>1000 forks:>500
就表示星数大于 1000 且 forks 数大于 500,名字中含有 python 的项目。
如果要指定范围,可以这样:
python in:name stars:5000..10000
表示星数在 5000 到 10000 之间,名字中有 python 的项目。
3、按创建、更新时间搜索
按创建、更新时间搜索可以把版本老旧的资源筛选出去,比如说:
-
按创建时间:
created:>=YYYY-MM-DD
-
按更新时间:
pushed:>=YYYY-MM-DD
比如说搜索 2021 年之后创建的 Python 项目: python in:name created:>=2021-01-01 pushed:>=2021-01-01
4、按文件、路径内容搜索
在 GitHub 还可以按文件内容和文件路径搜索,不过有一定的限制,首先必须登录,此外项目的文件不能太多,文件不能太大,在需要搜索 fork 资源 时,只能搜索到 star 数量比父级资源多的 fork 资源,并需要加上 fork:true 查询,搜索结果最多可显示同一文件的两个分段,但文件内可能有更多结果,不能使用通配符。
语法格式:
-
按文件内容
关键字 in:file
-
按文件路径
关键字 in:path
比如: python in:file,path
5、按文件名、大小、扩展名搜索
语法格式如下:
-
按文件名搜索:
关键字 filename:FILENAME
-
按文件大小搜索:
关键字 size:>=大小
-
按扩展名搜索:
关键字 extension:EXTENSION
举个例子: python filename:aaa size:>10 extension:py
6、按编程语言来搜索
语法格式: 关键字 language:LANGUAGE
比如: python language:javascript
表示搜索 javascrip 语言中关于 python 的项目。
未闻 Code·知识星球开放啦!
一对一答疑爬虫相关问题
职业生涯咨询
面试经验分享
每周直播分享
......
未闻 Code·知识星球期待与你相见~
一二线大厂在职员工
十多年码龄的编程老鸟
国内外高校在读学生
中小学刚刚入门的新人
在 “未闻 Code技术交流群” 等你来!
入群方式:添加微信“mekingname”,备注“粉丝群”(谢绝广告党,非诚勿扰!
- 一日一技:如何批量给PDF添加水印?
- 一日一技:抛掉JavaScript,用HTML和Python做网站
- 一个让我感到 "细思极恐" 的开源项目!
- 一日一技:FastAPI 接口限流
- 5 分钟,使用内网穿透快速实现远程手机桌面!
- Python Delorean 优秀的时间格式智能转换工具
- 写在公众号粉丝2w时
- 一日一技:协程与多进程的完美结合
- 一个 "丧心病狂" 的开源项目
- python中如何优雅的实现代码与敏感信息分离?
- Pandas 多进程处理数据,速度快了不少!
- 爬虫出海Step by Step(一)
- 一日一知:架构到底是什么?
- Python识别花卉种类,并自动整理分类!
- 这几个摸鱼神器,你怎么能不知道
- FoolNLTK — 简单好用的中文NLP工具包
- 一日一知:国内爬虫开发人员的未来
- 我写论文时发现了哪些非常神的网站?
- Python 编程的最好搭档—VSCode 详细指南
- 一日一技:急速搭建问答搜索引擎