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使用minidom读写xml的方法
Jun 03 Python
python监控linux内存并写入mongodb(推荐)
Sep 11 Python
Python实现的字典值比较功能示例
Jan 08 Python
对Python中for复合语句的使用示例讲解
Nov 01 Python
对python指数、幂数拟合curve_fit详解
Dec 29 Python
Python实现的银行系统模拟程序完整案例
Apr 12 Python
pyinstaller打包单个exe后无法执行错误的解决方法
Jun 21 Python
解决python3 安装不了PIL的问题
Aug 16 Python
python匿名函数的使用方法解析
Oct 10 Python
python和php哪个容易学
Jun 19 Python
详解Python利用configparser对配置文件进行读写操作
Nov 03 Python
python 爬取英雄联盟皮肤并下载的示例
Dec 04 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的无限分类实现想法~
2007/01/02 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
2015/10/08 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
php微信开发之谷歌测距
2018/06/14 PHP
JavaScript中的细节分析
2012/06/30 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
详解小程序缓存插件(mrc)
2018/08/17 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
[01:05]主宰至宝剑心之遗
2017/03/16 DOTA
Python 匹配任意字符(包括换行符)的正则表达式写法
2009/10/29 Python
Python解析json文件相关知识学习
2016/03/01 Python
Python数据分析之如何利用pandas查询数据示例代码
2017/09/01 Python
python抓取网页中链接的静态图片
2018/01/29 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
python+tifffile之tiff文件读写方式
2020/01/13 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
解决numpy矩阵相减出现的负值自动转正值的问题
2020/06/03 Python
Python爬虫获取豆瓣电影并写入excel
2020/07/31 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
消防安全管理制度
2014/02/01 职场文书
房屋委托书范本
2014/04/04 职场文书
企业消防安全责任书
2014/07/23 职场文书
redis击穿 雪崩 穿透超详细解决方案梳理
2022/03/17 Redis
python解析json数据
2022/04/29 Python