吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2893|回复: 0
收起左侧

[Python 转载] python3 批量克隆git

[复制链接]
hkgcu 发表于 2019-3-20 20:09
开发环境  python3.6
需要设置环境变量。 缺点,运行程序会出现弹窗。
[Python] 纯文本查看 复制代码
#coding:UTF-8
import threading
import urllib.request
import time
import os
import re

index_url = "你要克隆的git第一页"

# 列 index_url = "https://github.com/search?q=51%E5%8D%95%E7%89%87%E6%9C%BA"

class Rein_git:
    def __init__(self, index_url):
        self.index_url = index_url
        
    def return_html_url(self, html):
        href_re = '''<a class="v-align-middle" .*? href=(.*?)>'''
        html_data = urllib.request.urlopen(html)
        new_html_file = re.findall(href_re, str(html_data.read()))
        return new_html_file

    def return_html_next(self, html):
        href_re = ''' <a rel="next" href="(.*?)">'''
        html_data = urllib.request.urlopen(html)
        next_html = re.findall(href_re, str(html_data.read()))
        if not next_html:
            return next_html
        next_html = "https://github.com/" + next_html[0]
        return next_html

def clone_the_git_jop(data):
    for c in data:
        os.system("git clone https://github.com"+c.replace('"',""))

if __name__ == "__main__":
    thread_data = []
    rein_git = Rein_git(index_url)
    file_html = []
    while True:
        file_url = rein_git.return_html_url(index_url)
        thread_o = threading.Thread(target = clone_the_git_jop, args=(file_url,))
        thread_o.start()
        thread_data.append(thread_o)
        file_html.extend(file_url)
        index_url = rein_git.return_html_next(index_url)
        if not index_url:
            for o in thread_data:
                o.join()
            break
        time.sleep(1)
    

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 05:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表