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实现删除文件与目录的方法
Nov 10 Python
仅用500行Python代码实现一个英文解析器的教程
Apr 02 Python
Python中的hypot()方法使用简介
May 18 Python
python利用装饰器进行运算的实例分析
Aug 04 Python
Python登录并获取CSDN博客所有文章列表代码实例
Dec 28 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
Jun 11 Python
在Python中实现替换字符串中的子串的示例
Oct 31 Python
Python简单基础小程序的实例代码
Apr 28 Python
python 实现检验33品种数据是否是正态分布
Dec 09 Python
Python实现序列化及csv文件读取
Jan 19 Python
Python实现随机生成任意数量车牌号
Jan 21 Python
python中for in的用法详解
Apr 17 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下判断网址是否有效的代码
2011/10/08 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
Laravel 队列使用的实现
2019/01/08 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
jQuery层次选择器用法示例
2016/09/09 Javascript
微信小程序图表插件(wx-charts)实例代码
2017/01/17 Javascript
详解Angular-Cli中引用第三方库
2017/05/21 Javascript
Require.js的基本用法详解
2017/07/03 Javascript
简单实现jQuery弹窗效果
2017/10/30 jQuery
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
vue抽出组件并传值实例
2020/07/31 Javascript
利用js实现简易红绿灯
2020/10/15 Javascript
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
tornado框架blog模块分析与使用
2013/11/21 Python
python多线程扫描端口示例
2014/01/16 Python
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
Python单元测试实例详解
2018/05/25 Python
python实现的MySQL增删改查操作实例小结
2018/12/19 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
python爬取Ajax动态加载网页过程解析
2019/09/05 Python
Tensorflow 模型转换 .pb convert to .lite实例
2020/02/12 Python
乌克兰电子和家用电器商店:Foxtrot
2019/07/23 全球购物
请解释在new与override的区别
2012/10/29 面试题
校园十佳歌手策划书
2014/01/22 职场文书
公司爱心捐款倡议书
2014/05/14 职场文书
十佳家长事迹材料
2014/08/26 职场文书
医院保洁员管理制度
2015/08/05 职场文书
java设计模式--三种工厂模式详解
2021/07/21 Java/Android
css3带你实现3D转换效果
2022/02/24 HTML / CSS
win10拖拽文件时崩溃怎么解决?win10文件不能拖拽问题解决方法
2022/08/14 数码科技