python抓取gitlab日志写入到库里面

抓取gitlab提交日志信息,代码可运行。

import gitlab

复制代码
import gitlab
import MySQLdb
import time
from datetime import datetime
from datetime import timedelta

if __name__ == '__main__':
    print(1)
    url = 'http://gitlab.centaline.cn'
    token = 'pWZqajTAoyu'
    gl = gitlab.Gitlab(url, private_token=token)
    projects = gl.projects.list(all=True)
    '''
    sz = gl.projects.get(448)
    all_groups = gl.groups.list(all=True)

    for cm in sz.commits.list():
        print(2)
        print(cm.name)
'''

    #gl.projects.list(since='2021-01-01T00:00:00Z')
    conn = MySQLdb.connect(host='ip', user='dev', passwd='123456', db='gitlab', port=3306,
                           charset='utf8')
    sql_commit = "insert into commit values(%s, %s, %s, %s, %s, %s, %s)"
    try:
        with conn.cursor() as cursor:
            for Project in projects:
                conmmparams = []
                in_id = str(Project.id)
                name = Project.name
                in_commits = []
                commits = Project.commits.list(since='2021-11-09T00:00:00Z',)
                # Project.commits.list(since='2021-08-01T00:00:00Z')
                for c in commits:
                    a = [c.id, c.committer_name, c.committer_email,  c.created_at, c.message, c.project_id, name]
                    in_commits.append(a)
                    for i in range(len(in_commits)):
                        print(4)
                        param = tuple(in_commits[i])
                        conmmparams.append(param)
                cursor.executemany(sql_commit, conmmparams)
                conn.commit()
                print(6)

    except MySQLdb.MySQLError as err:
        print(err)
        conn.rollback()
    finally:
        conn.close()
复制代码

 

posted @   红萝卜  阅读(332)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示