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中关于时间和日期函数的常用计算总结(time和datatime)
Mar 08 Python
使用Python程序抓取新浪在国内的所有IP的教程
May 04 Python
Python爬虫框架Scrapy实战之批量抓取招聘信息
Aug 07 Python
Python3实现Web网页图片下载
Jan 28 Python
Python的socket模块源码中的一些实现要点分析
Jun 06 Python
Django项目中用JS实现加载子页面并传值的方法
May 28 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
Nov 19 Python
Python猜数字算法题详解
Mar 01 Python
python编写俄罗斯方块
Mar 13 Python
用Python爬虫破解滑动验证码的案例解析
May 06 Python
在Python中如何使用yield
Jun 07 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 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
2015/08/23 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
javascript动态创建及删除元素的方法
2014/12/22 Javascript
angular.element方法汇总
2015/01/07 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
2015/04/30 Javascript
jQuery基础知识点总结(DOM操作)
2016/06/01 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
JS日程管理插件FullCalendar简单实例
2017/02/07 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
python数据结构之二叉树的建立实例
2014/04/29 Python
Python实现简单的代理服务器
2015/07/25 Python
python运行其他程序的实现方法
2017/07/14 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
python实现雪花飘落效果实例讲解
2019/06/18 Python
python几种常用功能实现代码实例
2019/12/25 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
Python的信号库Blinker用法详解
2020/12/31 Python
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
Columbia美国官网:美国著名的户外服装品牌
2016/11/24 全球购物
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
20年同学聚会感言
2014/02/03 职场文书
三好学生个人先进事迹材料
2014/05/17 职场文书
课例研修方案
2014/05/31 职场文书
给医院的感谢信
2015/01/21 职场文书
豆瓣2021评分最高动画剧集-豆瓣评分最高的动画剧集2021
2022/03/18 日漫
Mysql数据库事务的脏读幻读及不可重复读详解
2022/05/30 MySQL
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android
html中两种获取标签内的值的方法
2022/06/16 jQuery