86 lines
2.5 KiB
Python
86 lines
2.5 KiB
Python
|
#!/usr/bin/env python
|
|||
|
# -*- coding: utf-8 -*-
|
|||
|
# author: 'zfb'
|
|||
|
# time: 2020-12-02 15:45
|
|||
|
|
|||
|
def read_file(name):
|
|||
|
'''读取文件内容
|
|||
|
'''
|
|||
|
with open(name, 'r') as file:
|
|||
|
text = file.read()
|
|||
|
return text
|
|||
|
|
|||
|
|
|||
|
def chunks(l, n):
|
|||
|
for i in range(0, len(l), n):
|
|||
|
yield l[i:i + n]
|
|||
|
|
|||
|
|
|||
|
def resize_url_list(url_list, group_size):
|
|||
|
'''将一维列表按照指定长度分割
|
|||
|
'''
|
|||
|
url_chunks = list(chunks(url_list, group_size))
|
|||
|
results = []
|
|||
|
for i in range(len(url_chunks)):
|
|||
|
results.append(url_chunks[i])
|
|||
|
print("重置的URL列表个数{},每个列表包含文件数{}".format(len(results), group_size))
|
|||
|
return results
|
|||
|
|
|||
|
|
|||
|
def get_sitemap_urls(url):
|
|||
|
'''从给定的sitemap.xml文件获取链接
|
|||
|
'''
|
|||
|
import requests
|
|||
|
import re
|
|||
|
text = requests.get(url).text
|
|||
|
pattern = re.compile(r'<loc>(.*?)</loc>')
|
|||
|
results = re.findall(pattern, text)
|
|||
|
url_list = []
|
|||
|
for res in results:
|
|||
|
if not res.endswith("/"):
|
|||
|
res = res + "/"
|
|||
|
url_list.append(res)
|
|||
|
return url_list
|
|||
|
|
|||
|
|
|||
|
def get_urls_from_file(file_name):
|
|||
|
'''从给定的文件获取链接
|
|||
|
'''
|
|||
|
with open(file_name, 'r') as file:
|
|||
|
return [x.strip() for x in file.readlines()]
|
|||
|
|
|||
|
def generate_https(https):
|
|||
|
'''由于Https无法序列化,自己将其改为字典(已弃用)
|
|||
|
'''
|
|||
|
server_cert = {}
|
|||
|
server_cert["CertId"] = https.CertInfo.CertId
|
|||
|
server_cert["CertName"] = https.CertInfo.CertName
|
|||
|
server_cert["Certificate"] = https.CertInfo.Certificate
|
|||
|
server_cert["PrivateKey"] = https.CertInfo.PrivateKey
|
|||
|
server_cert["ExpireTime"] = https.CertInfo.ExpireTime
|
|||
|
server_cert["DeployTime"] = https.CertInfo.DeployTime
|
|||
|
server_cert["Message"] = https.CertInfo.Message
|
|||
|
|
|||
|
client_cert = {}
|
|||
|
client_cert["Certificate"] = https.ClientCertInfo.Certificate
|
|||
|
client_cert["CertName"] = https.ClientCertInfo.CertName
|
|||
|
client_cert["ExpireTime"] = https.ClientCertInfo.ExpireTime
|
|||
|
client_cert["DeployTime"] = https.ClientCertInfo.DeployTime
|
|||
|
|
|||
|
hsts = {}
|
|||
|
hsts["Switch"] = https.Hsts.Switch
|
|||
|
hsts["MaxAge"] = https.Hsts.MaxAge
|
|||
|
hsts["IncludeSubDomains"] = https.Hsts.IncludeSubDomains
|
|||
|
|
|||
|
res = {}
|
|||
|
res["Switch"] = https.Switch
|
|||
|
res["Http2"] = https.Http2
|
|||
|
res["OcspStapling"] = https.OcspStapling
|
|||
|
res["VerifyClient"] = https.VerifyClient
|
|||
|
res["Spdy"] = https.Spdy
|
|||
|
res["SslStatus"] = https.SslStatus
|
|||
|
res["CertInfo"] = server_cert
|
|||
|
res["ClientCertInfo"] = client_cert
|
|||
|
res["Hsts"] = https.Hsts
|
|||
|
return res
|