python 获得github代码库列表

1.背景

       项目需求,要求获得github的repo的api,以便可以提取repo的数据进行分析。研究了一天,终于解决了这个问题,虽然效率还是比较低下。

    因为github的那个显示repo的api,列出了每个repo的详细信息,而且是json格式的。现在貌似还没有找到可以分析多个json格式数据的方法,所以用的是比较蠢得splite加re的方法。如果大家有更好的方法,不发留言讨论!

  

2.代码

import re
import os

def GetUrl(num):
    str = os.popen("curl -G https://api.github.com/repositories?since=%d"%(num)).read()
    pattern = '"url"'
    pattern1='repos'
    urls=str.split(',\n')
    for i in urls:
      if pattern in i and pattern1 in i:

#          text1=i.splite(':')
          text=re.compile('"(.*?)"').findall(i)[1]
          print text

if __name__=='__main__':
    GetUrl(1000)

    其中num的值指的是页面的id,我们可以做一个循环,不断增大num的值,就可以无限提取repo。因为github的api对于流量是有限制的,所以这么做是一个可行的方法。

效果如下(提取下来的repo的api地址):

https://api.github.com/repos/wycats/merb-core

https://api.github.com/repos/rubinius/rubinius

https://api.github.com/repos/mojombo/god

https://api.github.com/repos/vanpelt/jsawesome

https://api.github.com/repos/wycats/jspec

https://api.github.com/repos/defunkt/exception_logger

https://api.github.com/repos/defunkt/ambition

https://api.github.com/repos/technoweenie/restful-authentication

https://api.github.com/repos/technoweenie/attachment_fu

https://api.github.com/repos/topfunky/bong

https://api.github.com/repos/Caged/microsis

https://api.github.com/repos/anotherjesse/s3

https://api.github.com/repos/anotherjesse/taboo

https://api.github.com/repos/anotherjesse/foxtracs

https://api.github.com/repos/anotherjesse/fotomatic

https://api.github.com/repos/mojombo/glowstick

https://api.github.com/repos/defunkt/starling

https://api.github.com/repos/wycats/merb-more

https://api.github.com/repos/macournoyer/thin

https://api.github.com/repos/jamesgolick/resource_controller

https://api.github.com/repos/jamesgolick/markaby

https://api.github.com/repos/jamesgolick/enum_field

https://api.github.com/repos/defunkt/subtlety

https://api.github.com/repos/defunkt/zippy

https://api.github.com/repos/defunkt/cache_fu

https://api.github.com/repos/KirinDave/phosphor

   

时间: 2024-09-06 13:42:52

python 获得github代码库列表的相关文章

一款能在GitHub代码库中探测密钥的工具:Truffle Hog

工具简介 这款名叫"Truffle Hog"的免费开源工具可以帮助开发人员检测自己在GitHub上发布的项目代码是否意外泄漏了密钥. Truffle Hog是一款采用Python开发的工具,它可以检索GitHub代码库的所有代码提交记录以及分支,并搜索出可以表示密钥(例如AWS密钥)的高熵字符串. 运行机制 该工具的开发者Dylan Ayrey解释称: "Truffle Hog会检索代码库中每一个分支完整的代码提交记录,而且也会检查每一次提交的git diff信息,然后对每一

Tata开发人员将银行代码泄露至公共GitHub代码库

食品安全测试企业Tellspec公司CTO兼前银行软件开发者杰森·科尔斯表示,他们在偶然之间发现由位于印度加尔各答的软件开发商Tata公司的员工在公共GitHub代码库当中上传大量涉及金融机构的源代码与内部文件.在归档文件当中,他们发现了开发笔记.原始源代码.Web银行代码开发规划内部报告以及与各外包合作伙伴间的往来通话记录. 10家金融单位受影响 这些文件所涉及的源代码与六家大型加拿大银行.两家著名美国金融机构.一家跨国银行以及一家市值达数十亿美元的金融软件厂商有关.利用这些数据,正在着手开发

开源项目成熟度分析工具-利用github api获取代码库的信息

1.github api        github api是http形式的api,功能还是比较丰富的,博主因为项目的原因主要用到的是提取project信息这项功能,返回的数据是JSON格式. api页:https://developer.github.com/v3/ Options: (H) means HTTP/HTTPS only, (F) means FTP only --anyauth Pick "any" authentication method (H) -a, --ap

利用Python中的mock库对Python代码进行模拟测试_python

 如何不靠耐心测试 通常,我们编写的软件会直接与那些我们称之为"肮脏的"服务交互.通俗地说,服务对我们的应用来说是至关重要的,它们之间的交互是我们设计好的,但这会带来我们不希望的副作用--就是那些在我们自己测试的时候不希望的功能. 比如,可能我们正在写一个社交软件并且想测试一下"发布到Facebook的功能",但是我们不希望每次运行测试集的时候都发布到Facebook上. Python的unittest库中有一个子包叫unittest.mock--或者你把它声明成一

怎样在Github上托管开源代码库

怎样在Github上托管开源代码库 大家好,今天我们要学习一下怎样在github.com提供的仓库中托管开源软件源代码.GitHub是一个基于web的Git仓库托管服务,提供基于 git 的分布式版本控制和源代码管理(SCM)功能,并加入了自身的特点.它给开源项目和私有项目提供了一个互相协作的工作区.代码预览和代码管理功能.不像Git是一个完完全全的命令行工具,GitHub提供了一个基于web的图形化界面和桌面,也整合了手机操作.GitHub同时提供了私有库付费计划和通常用来管理开源软件项目的免

高通利用DMCA通知迫使GitHub关闭100+代码库

高通公司的一家代理机构以未经授权发表.披露和复制高度敏感.机密.商业秘密和受版权保护文档为由,向代码托管网站GitHub发出了超过100个DMCA删除通知.GitHub已遵循DMCA通知删除了相关代码,在官方博客上公开了所有被删除的代码库链接.Phoronix分析了被删除的代码文件,认为这又是一起滥用DMCA版权法的事件,因为许多被要求删除的代码库属于Linux kernel和Android kernel代码,以及参考/示例代码文件.

可能是迄今为止最好的GitHub代码浏览插件--赞

  https://chrome.google.com/webstore/category/extensions?hl=zh-CN 搜索"insight.io"     chrome://extensions/   GitHub是很多开发者远(tong)程(xing)协(jiao)作(you)的重要工具,其社交化编码的理念伴随着开源运动改变着整个开发社区的生态,无数优质项目依托GitHub在全球开源开发者的参与下蓬勃发展. 不过,讲真,你有在GitHub上好好读过代码吗? 对于大部分人

15分钟学会使用Git和远程代码库

Git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本的Git和远程代码库干活的工作步骤,在15分钟内. 工作步骤 我会展示以下的步骤,通常能帮我独自在一台或多台机器上做项目.   创建一个远程的空代码库(在BitBucket上) 在本地代码库添加一个项目 在分支上开发新功能 a) 保留新功能 或者 b) 丢弃它们 也许,回到某个早先的时间点 将本地代

SharePoint 2013开发入门:代码定义列表

在SharePoint的开发中,用Visual Studio自定义列表是经常会用到的,因为很多时候,我们并不会手动创建列表,而手动创建列表在测试服务器和正式机之间同步字段,也很麻烦,所以我们经常用代码来定义列表或者文档库. 尤其在工作流的开发中,我们经常会用到代码定义任务列表,或者历史记录列表,用来存储我们需要存储的相关数据.而在Visual Studio 2013中,定义列表也提供了模板,通过模板创建,我们很容易就可以定义需要的列表了. 下面,让我们简单学习下,如何使用VS定义自定义列表. 1