Полный код можно просмотреть здесь: https://pastebin.com/1nvCxrKe
Установите Python.
Скопируйте ссылку из тега: <link rel="canonical".... />
<link rel="canonical" href="https://neculaifantanaru.com/love-running.html" />
Переместите ссылку выше в рамку < ! -- FLAGS_1 --> до < ! -- FLAGS_2 --> в разделах: en, span> ар, zh, привет, де, ru
<!-- FLAGS_1 --> <div class="cautareField"> <div align="right"> <a href="https://neculaifantanaru.com/stralucirea-nestematei.html"> <a href="https://neculaifantanaru.com/fr/l-eclat-de-la-gemme.html"> <a href="https://neculaifantanaru.com/ru/brilliance-of-the-gem.html"> <a href="https://neculaifantanaru.com/es/gema-stargaionss.html"> <a href="https://neculaifantanaru.com/pt/brilho-da-gema.html"> <a href="https://neculaifantanaru.com/ar/my-name-is-prince.html"> <a href="https://neculaifantanaru.com/zh/books-and-magic.html"> <a href="https://neculaifantanaru.com/hi/many-things.html"> <a href="https://neculaifantanaru.com/de/horror-scenario.html"> <a href="https://neculaifantanaru.com/ru/everything-is-here.html"> </div> </div> <!-- FLAGS_2 -->
ВЫХОД:
<!-- FLAGS_1 --> <div class="cautareField"> <div align="right"> <a href="https://neculaifantanaru.com/stralucirea-nestematei.html"> <a href="https://neculaifantanaru.com/fr/l-eclat-de-la-gemme.html"> <a href="https://neculaifantanaru.com/ru/love-running.html"> <a href="https://neculaifantanaru.com/es/gema-stargaionss.html"> <a href="https://neculaifantanaru.com/pt/brilho-da-gema.html"> <a href="https://neculaifantanaru.com/ar/love-running.html"> <a href="https://neculaifantanaru.com/zh/love-running.html"> <a href="https://neculaifantanaru.com/hi/love-running.html"> <a href="https://neculaifantanaru.com/de/love-running.html"> <a href="https://neculaifantanaru.com/ru/love-running.html"> </div> </div> <!-- FLAGS_2 -->
КОД: скопируйте и запустите приведенный ниже код в любой программе-интерпретаторе (я использую pyScripter) . Не забудьте изменить путь в строке: "имя_каталога =".
import re import os def read_text_from_file(file_path): """ Aceasta functie returneaza continutul unui fisier. file_path: calea catre fisierul din care vrei sa citesti """ with open(file_path, 'r') as f: text = f.read() return text def write_to_file(text, file_path): """ Aceasta functie scrie un text intr-un fisier. text: textul pe care vrei sa il scrii file_path: calea catre fisierul in care vrei sa scrii """ with open(file_path, 'w') as f: f.write(text) def check_link(file_path): text = read_text_from_file(file_path) # transformam textul din fisier intr-un string text = str(text) pattern = re.compile('<link rel="canonical" href="(.*?)" />') canonical_link = re.findall(pattern, text) if len(canonical_link) != 0: file_name = canonical_link[0].split('/')[-1] flags_pattern = re.compile('<!-- FLAGS_1 -->[\s\S]*?<!-- FLAGS_2 -->[\s\S]*?') text_flags = str(re.findall(flags_pattern, text)[0]) # print("before: ", text_flags) languages = ['en', 'ar', 'zh', 'hi', 'de', 'ru'] text_flags_new = text_flags for language in languages: template = re.compile('<a href=\"https://neculaifantanaru.com/{}/(.*?)\">'.format(language)) links = re.findall(template, text_flags) for link in links: if link != file_name: text_flags_new = text_flags_new.replace(link, file_name) # print("after: ", text_flags_new) text = text.replace(text_flags, text_flags_new) write_to_file(text, file_path) else: print("Found a problem with the file: ", file_path) def check_links_for_all_files(directory_name): for file in os.listdir(directory_name): filename = str(file) print(filename) # verificam daca fisierul se termina cu extensia html sau php if filename.endswith(".html"): #or filename.endswith(".php"): file_path = os.path.join(directory_name, filename) # pentru fiecare fisier gasit, stergem spatiile in plus check_link(file_path) else: continue if __name__ == '__main__': check_links_for_all_files("e:\\folder_1")
That's all folks.
If you like my code, then make me a favor: translate your website into Romanian, "ro".
Также ознакомьтесь с этой ВЕРСИЕЙ 2 или ВЕРСИЯ 3 или ВЕРСИЯ 4 или ВЕРСИЯ 5 или ВЕРСИЯ 6 или ВЕРСИЯ 7