声明:工具免费分享,不可以用来牟利,有需要的可以下方进行评论留言。
周五公司运营同事,给我发过来8个网站的sitemap文件,都是xml格式的,这个也是网站地图最常见的格式。同时呢,这个项目有移动端网址,需要将sitemap文件中的www批量替换成m。其实这一步骤挺简单的,复制一下文件,批量替换就行了,但是我懒啊。这么繁琐的工作的也不是程序员能干的。于是就有了写个小工具的想法。
python
想法
发过来的sitemap文件都是在一个文件夹内,那么我们直接将整个文件夹下的所有sitemap文件都提取出来,然后按个进行转换操作。并将文件进行操作命名。
获取目录下所有符合文件
# 返回目录下所有文件def get_path_file(files_path):data = []for root, dirs, files in os.walk(files_path, topdown=False):for name in files:f_p = os.path.join(root, name).replace("\\", "/")file_type = os.path.splitext(f_p)if file_type[1] == '.xml':if " " in file_type[0]:os.rename(f_p, f_p.replace(" ", ""))f_p = f_p.replace(" ", "")data.append(f_p)return data
工具一、http替换https
# 转换def main(v):print("正在转换:%s" % v)file_data = os.path.splitext(v)new_name = "%s_https%s" % (file_data[0], file_data[1])fp = open(new_name, 'a', encoding="UTF-8")with open(v, 'r', encoding="UTF-8") as f:for line in f:if "http://" in line:line = line.replace("http://", "https://")fp.write(line)fp.close()print("转换完成:%s" % v)
工具二、www替换m
# 转换def main(v):print("正在转换:%s" % v)file_data = os.path.splitext(v)new_name = "%s_m%s" % (file_data[0], file_data[1])fp = open(new_name, 'a', encoding="UTF-8")with open(v, 'r', encoding="UTF-8") as f:for line in f:if "http" in line:line = line.replace("www", 'm')if "http://" in line:line = line.replace("http://", "https://")fp.write(line)fp.close()print("转换完成:%s" % v)
工具三、百度格式转换头条格式
# 转换def main(v):print("正在转换:%s" % v)file_data = os.path.splitext(v)new_name = "%s_toutiao%s" % (file_data[0], file_data[1])fp = open(new_name, 'a', encoding="UTF-8")fp.write("\n")fp.write("\n")fp.write("\n")with open(v, 'r', encoding="UTF-8") as f:for line in f:if "https://" in line:res = re.findall(r".*?", line)if res[0]:line = res[0].replace("", "", "]]>")fp.write(line + "\n")fp.write("\n")fp.write("\n")fp.close()print("转换完成:%s" % v)
这里面我们是按照多次写入格式头和格式尾做的,也可以一次性写入。
实验结果
转换速度非常快,sitemap文件格式百度方面要求不超过5万条,文件大小不超过10M,这里面我们没有使用工具去做判断和调整,因为我们的工具是以转化为主。5万条的数据使用内存去读取,还是没有任何压力的。我这次实验转化了20万条的数据,转化过程在不到一分钟就完成了,速度还是非常快的,并且我将代码生成了exe可执行程序,运营人员也可以直接操作了。提高了整体的效率。
Python实现word批量转HTML-附工具
word批量doc转docx格式-python