python使用心得之获得github代码库列表


Posted in Python onJune 25, 2014

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

Python 相关文章推荐
Python3基础之函数用法
Aug 13 Python
python获取当前时间对应unix时间戳的方法
May 15 Python
Python中标准模块importlib详解
Apr 16 Python
python读文件保存到字典,修改字典并写入新文件的实例
Apr 23 Python
python实现猜数字小游戏
Mar 24 Python
Python判断一个文件夹内哪些文件是图片的实例
Dec 07 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 Python
Python函数参数匹配模型通用规则keyword-only参数详解
Jun 10 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
Sep 16 Python
Python 函数绘图及函数图像微分与积分
Nov 20 Python
Python netmiko模块的使用
Feb 14 Python
利用python实现逐步回归
Feb 24 Python
在Python中使用异步Socket编程性能测试
Jun 25 #Python
Python开发的单词频率统计工具wordsworth使用方法
Jun 25 #Python
python 字典(dict)遍历的四种方法性能测试报告
Jun 25 #Python
用python登录Dr.com思路以及代码分享
Jun 25 #Python
python正则表达式re模块详解
Jun 25 #Python
Python通过websocket与js客户端通信示例分析
Jun 25 #Python
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
Jun 25 #Python
You might like
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
Laravel 5框架学习之表单验证
2015/04/08 PHP
PHP实现页面静态化的超简单方法
2016/09/06 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
Javascript倒计时代码
2010/08/12 Javascript
如何获取JQUERY AJAX返回的JSON结果集实现代码
2012/12/10 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
2013/01/24 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
JS获取表格内指定单元格html内容的方法
2015/03/31 Javascript
javascript事件委托的方式绑定详解
2015/06/10 Javascript
理解javascript闭包
2015/12/15 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
2016/01/05 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
纯js三维数组实现三级联动效果
2017/02/07 Javascript
js使用原型对象(prototype)需要注意的地方
2017/08/28 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
[01:06:30]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第二场 1月9日
2021/03/11 DOTA
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
Python3实现发送QQ邮件功能(html)
2017/12/15 Python
Python logging设置和logger解析
2019/08/28 Python
如何使用python代码操作git代码
2020/02/29 Python
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
幼儿园门卫制度
2014/01/29 职场文书
物理专业本科生自荐信
2014/01/30 职场文书
2014年工会工作总结
2014/11/12 职场文书
工作失误检讨书范文
2015/01/26 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
2021/05/21 Redis
golang特有程序结构入门教程
2021/06/02 Python