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分割TXT文件成4K的TXT文件
May 23 Python
简单介绍Python下自己编写web框架的一些要点
Apr 29 Python
python实现备份目录的方法
Aug 03 Python
Python实现将doc转化pdf格式文档的方法
Jan 19 Python
python实现聚类算法原理
Feb 12 Python
Python 实现网页自动截图的示例讲解
May 17 Python
Django实现学生管理系统
Feb 26 Python
利用Python实现手机短信监控通知的方法
Jul 22 Python
python线程信号量semaphore使用解析
Nov 30 Python
Python绘制全球疫情变化地图的实例代码
Apr 20 Python
关于Theano和Tensorflow多GPU使用问题
Jun 19 Python
如何利用opencv判断两张图片是否相同详解
Jul 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
简化php模板页面中分页代码的解析
2009/02/06 PHP
ezSQL PHP数据库操作类库
2010/05/16 PHP
JavaScript confirm选择判断
2008/10/18 Javascript
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
Javascript动画的实现原理浅析
2015/03/02 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
解析如何利用iframe标签以及js制作时钟
2016/12/08 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
Vue封装的可编辑表格插件方法
2018/08/28 Javascript
vue-router两种模式区别及使用注意事项详解
2019/08/01 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
2019/11/25 Javascript
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
对TensorFlow中的variables_to_restore函数详解
2018/07/30 Python
python ddt数据驱动最简实例代码
2019/02/22 Python
python基础梳理(一)(推荐)
2019/04/06 Python
python爬虫之爬取百度音乐的实现方法
2019/08/24 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
2019/08/31 Python
如何通过python实现人脸识别验证
2020/01/17 Python
举例详解CSS3中的Transition
2015/07/15 HTML / CSS
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
毕业学生推荐信
2013/12/01 职场文书
乳制品整治工作方案
2014/05/29 职场文书
学习党的群众路线实践活动思想汇报
2014/09/12 职场文书
教师节标语大全
2014/10/07 职场文书
办公室务虚会发言材料
2014/10/20 职场文书
2014年材料员工作总结
2014/11/19 职场文书
酒会邀请函
2015/01/31 职场文书
电气工程师岗位职责
2015/02/12 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang
MYSQL如何查看进程和kill进程
2022/03/13 MySQL