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创建模块及模块导入的方法
May 27 Python
在Python中移动目录结构的方法
Jan 31 Python
深入理解python中的浅拷贝和深拷贝
May 30 Python
详解python3 + Scrapy爬虫学习之创建项目
Apr 12 Python
Python网络编程之使用TCP方式传输文件操作示例
Nov 01 Python
如何在python中实现随机选择
Nov 02 Python
python常用数据重复项处理方法
Nov 22 Python
关于matplotlib-legend 位置属性 loc 使用说明
May 16 Python
Python中Selenium库使用教程详解
Jul 23 Python
Python实现冒泡排序算法的完整实例
Nov 04 Python
Django用内置方法实现简单搜索功能的方法
Dec 18 Python
python 获取谷歌浏览器保存的密码
Jan 06 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 传值赋值与引用赋值的区别
2010/12/29 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
JavaScript避免代码的重复执行经验技巧分享
2014/04/17 Javascript
javascript实现input file上传图片预览效果
2015/12/31 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
jquery获取点击控件的绝对位置简单实例
2016/10/13 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
2017/01/19 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
微信小程序开发之自定义tabBar的实现
2018/09/06 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
python定时采集摄像头图像上传ftp服务器功能实现
2013/12/23 Python
连接Python程序与MySQL的教程
2015/04/29 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
Crocs波兰官方商店:女鞋、男鞋、童鞋、洞洞鞋
2019/10/08 全球购物
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
普天C++笔试题
2016/03/20 面试题
三分钟演讲稿事例
2014/03/03 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
python实现调用摄像头并拍照发邮箱
2021/04/27 Python
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python