python使用心得之获得github代码库列表
1.背景
项目需求,要求获得github的repo的api,以便可以提取repo的数据进行分析。研究了一天,终于解决了这个问题,虽然效率还是比较低下。
因为github的那个显示repo的api,列出了每个repo的详细信息,而且是json格式的。现在貌似还没有找到可以分析多个json格式数据的方法,所以用的是比较蠢得splite加re的方法。如果大家有更好的方法,不发留言讨论!
2.代码
importre importos defGetUrl(num): str=os.popen("curl-Ghttps://api.github.com/repositories?since=%d"%(num)).read() pattern=""url"" pattern1="repos" urls=str.split(",\n") foriinurls: ifpatterniniandpattern1ini: #text1=i.splite(":") text=re.compile(""(.*?)"").findall(i)[1] printtext 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
相关文章
- 在pycharm中如何新建Python文件?_github下载的python源码项目怎么用
- 以脚本形式运行python库
- python大数据分析实例-用Python整合的大数据分析实例
- python join()方法「建议收藏」
- 【Python】python文件打开方式详解——a、a+、r+、w+、rb、rt区别[通俗易懂]
- python requests 关闭提示警告
- python上的表白代码_用Python实现表白代码
- Python 生成随机数_python建立随机数列表
- 正则表达式Python_python正则表达式匹配字符串
- 上手Python之str(字符串)
- opencv(4.5.3)-python(十)--改变色彩空间
- Pycharm设置python文件模板
- 《Python自然语言处理》-- 1. 概述(笔记)
- python实践之电商系列
- python高级线程编程-线程安全的数据结构(四)
- python-数据库编程-如何在Python中连接到数据库
- python-Python与SQLite数据库-使用Python执行SQLite查询(一)
- Linux删除系统自带版本Python过程详解
- python获取远程设备的IP地址详解编程语言
- Python 基于python实现的http+json协议接口自动化测试框架源码(实用改进版)详解编程语言
- 怎样学习Python,才能成为Python高手?
- Linux 启动 Python编程之旅(linux打开python)
- 使用 GitHub 和 Python 实现持续部署
- 命名空间是 Python 之禅的精髓
- Python 为什么要迁移到 Github
- 使用Python连接SQL Server数据库(python连接sqlserver)
- 如何在Linux中安装Python?(linux安装python)
- Python连接MySQL数据库:初学者指南(python入mysql)
- 在Python中简单调用MySQL(python调用mysql)
- Linux下Python编程:从入门到精通(linux下python编程)
- Python实现冒泡,插入,选择排序简单实例