python3–实战项目–读取自建github网站上项目名称、git地址、新建/切换/清空项目文件夹、git clone到目标项目文件夹
1、项目背景
需要对自建的github网站上特定项目(TB_字母开头的)代码进行git clone到源代码审计服务器上。由于以TB_*开头的项目有202个,使用python脚本处理
目标网站:https://git.xxxxxxx.com/?non_archived=true&page=1&sort=latest_activity_desc
处理思路:对目标网站的网页总共有16页
目标1/2/3/4/…网页----获取登录网页cookie信息—爬取整个网页内容—提取出项目名称–对项目名称特殊格式处理(后面在服服务器上的项目名称)—对TB_*某一项目URL地址打开–提取出该项目的git@git…URL地址—在服务器组装项目存储绝对地址—新建每个项目地址—自动切换到每个项目中—在每个自己项目进行清空目录,然后git clone代码—再切换到总项目根目录下
2、项目代码:
# -*- coding: utf-8 -*-
"""
Created on Fri Apr 26 15:36:10 2019
@author: fern.xu
"""
import requests
import os
import time
import re
import bs4
from bs4 import BeautifulSoup
from urllib.request import urlretrieve
from pathlib import Path
import html5lib
import urllib3
def main():
for num in range(1,16):#遍历16个网页
#组装访问的目标地址
url = 'https://git.wolaidai.com/?non_archived=true&page='+str(num)+'&sort=latest_activity_desc'
fun(url)
def fun(url):
urllib3.disable_warnings()#ssl认证告警信息屏蔽
tb_list = []#存放TB项目名称
tb_name_url = []#项目的绝对路径
tbgit_list = []#存在项目的git地址
tb_dict = {}#使用项目的绝对路径与项目的git地址组合
#手动提取cookie保存为txt
f=op