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 相关文章推荐
python线程锁(thread)学习示例
Dec 04 Python
Python设计模式之观察者模式实例
Apr 26 Python
Python中的推导式使用详解
Jun 03 Python
使用Python从有道词典网页获取单词翻译
Jul 03 Python
人机交互程序 python实现人机对话
Nov 14 Python
在cmd命令行里进入和退出Python程序的方法
May 12 Python
TensorFlow 合并/连接数组的方法
Jul 27 Python
33个Python爬虫项目实战(推荐)
Jul 08 Python
python中matplotlib条件背景颜色的实现
Sep 02 Python
tensorflow生成多个tfrecord文件实例
Feb 17 Python
postman和python mock测试过程图解
Feb 22 Python
Django接收照片储存文件的实例代码
Mar 07 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
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
PHP中动态HTML的输出技术
2006/10/09 PHP
第二章 PHP入门基础之php代码写法
2011/12/30 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
2015/12/31 PHP
探究Laravel使用env函数读取环境变量为null的问题
2016/12/06 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
php提取微信账单的有效信息
2018/10/01 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
javascript 面向对象继承
2009/11/26 Javascript
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
js中settimeout方法加参数
2014/02/28 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
微信小程序访问node.js接口服务器搭建教程
2017/04/25 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
解决vue+webpack打包路径的问题
2018/03/06 Javascript
[02:34]DOTA2英雄基础教程 幽鬼
2014/01/02 DOTA
python+OpenCV实现车牌号码识别
2019/11/08 Python
python如何实现不用装饰器实现登陆器小程序
2019/12/14 Python
简单了解Python读取大文件代码实例
2019/12/18 Python
Python with语句和过程抽取思想
2019/12/23 Python
Python绘制组合图的示例
2020/09/18 Python
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
2012/12/05 面试题
求职简历的自我评价怎样写好
2013/10/07 职场文书
护理实习自我鉴定
2013/12/14 职场文书
企业精细化管理实施方案
2014/03/23 职场文书
2014旅游局领导班子四风问题对照检查材料思想汇报
2014/09/19 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
中学教师个人总结
2015/02/10 职场文书
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
2021/04/12 Python