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 相关文章推荐
centos系统升级python 2.7.3
Jul 03 Python
简单介绍Python中的JSON使用
Apr 28 Python
python3 与python2 异常处理的区别与联系
Jun 19 Python
python里使用正则表达式的组嵌套实例详解
Oct 24 Python
对Python中的@classmethod用法详解
Apr 21 Python
使用Python实现租车计费系统的两种方法
Sep 29 Python
对python中dict和json的区别详解
Dec 18 Python
python opencv minAreaRect 生成最小外接矩形的方法
Jul 01 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 Python
python3中数组逆序输出方法
Dec 01 Python
Python中itertools库的四个函数介绍
Apr 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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
ASP知识讲座四
2006/10/09 PHP
php 将字符串按大写字母分隔成字符串数组
2010/04/30 PHP
解决File size limit exceeded 错误的方法
2013/06/14 PHP
yii操作cookie实例简介
2014/07/09 PHP
微信公众号之主动给用户发送消息功能
2019/06/22 PHP
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
url参数中有+、空格、=、%、&、#等特殊符号的问题解决
2013/05/15 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
BootStrap selectpicker后台动态绑定数据的方法
2017/07/28 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
node上的redis调用优化示例详解
2018/10/30 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
2018/11/13 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
2019/11/18 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
JS如何实现手机端输入验证码效果
2020/05/13 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
python障碍式期权定价公式
2019/07/19 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
新加坡网上化妆品店:Best Buy World
2018/05/18 全球购物
国际领先的在线时尚服装和配饰店:DressLily
2019/03/03 全球购物
商场活动策划方案
2014/01/24 职场文书
市级绿色学校申报材料
2014/08/25 职场文书
党的群众路线教育实践活动专题组织生活会发言材料
2014/10/17 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
精神病医院见习报告
2014/11/03 职场文书
初中生毕业评语
2014/12/29 职场文书
立项申请报告范本
2015/05/15 职场文书
《酸的和甜的》教学反思
2016/02/18 职场文书
Anaconda配置各版本Pytorch的实现
2021/08/07 Python