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 json encode datetime类型
Dec 28 Python
Python中声明只包含一个元素的元组数据方法
Aug 25 Python
在Python中操作日期和时间之gmtime()方法的使用
May 22 Python
python添加菜单图文讲解
Jun 04 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
Jul 09 Python
Python 画出来六维图
Jul 26 Python
python3实现带多张图片、附件的邮件发送
Aug 10 Python
python中class的定义及使用教程
Sep 18 Python
Python类的动态绑定实现原理
Mar 21 Python
Python验证码截取识别代码实例
May 16 Python
python实现学生通讯录管理系统
Feb 25 Python
python数据库批量插入数据的实现(executemany的使用)
Apr 30 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
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
asp函数split()对应php函数explode()
2019/02/27 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
2019/09/30 PHP
ToolTips JQEURY插件之简洁小提示框效果
2011/11/19 Javascript
javascript中直接写php代码的方法
2013/07/31 Javascript
总结JavaScript中布尔操作符||与&&的使用技巧
2015/11/17 Javascript
jQuery计算文本框字数及限制文本框字数的方法
2016/03/01 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
layui实现form表单同时提交数据和文件的代码
2019/10/25 Javascript
Jquery使用each函数实现遍历及数组处理
2020/07/14 jQuery
详解JavaScript 高阶函数
2020/09/14 Javascript
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
Python深入学习之装饰器
2014/08/31 Python
python实现rsa加密实例详解
2017/07/19 Python
Python的numpy库中将矩阵转换为列表等函数的方法
2018/04/04 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
python 二维数组90度旋转的方法
2019/01/28 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
基于Pytorch SSD模型分析
2020/02/18 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
python实现简单的tcp 文件下载
2020/09/16 Python
英国家用电器购物网站:Hughes
2018/02/23 全球购物
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
汽车专业人才自我鉴定范文
2013/12/29 职场文书
上课说话检讨书大全
2014/01/22 职场文书
车间主任岗位职责
2014/03/16 职场文书
大学三年计划书范文
2014/04/30 职场文书
小学思想品德教学反思
2016/02/24 职场文书
学习计划是什么
2019/04/30 职场文书
python基于opencv批量生成验证码的示例
2021/04/28 Python
详解Python为什么不用设计模式
2021/06/24 Python
Python编写nmap扫描工具
2021/07/21 Python
详解jQuery的核心函数和事件处理
2022/02/18 jQuery