Python: сравнивает теги html в папке RO с соответствующими тегами в папке EN и отображает в выводе уникальные теги из обPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python: сравнивает теги html в папке RO с соответствующими тегами в папке EN и отображает в выводе уникальные теги из об

Сообщение Anonymous »

Короче, у меня есть два файла: один на румынском, другой переведен на английский. В файле RO есть некоторые теги, которые не переведены на EN. Поэтому я хочу отображать в выводе html все теги в EN, которые имеют соответствующие теги в RO, а также те теги в RO, которые не отображаются в EN.
У меня есть эти файлы:
ro_file_path = r'd:\3\ro\incotro-vezi-tu-privire.html'
en_file_path = r'd:\3\en\where-do-you-see-look.html'
Output = d:\3\Output\where-do-you-see-look.html

ЗАДАЧА: Сравните 3 тега ниже в обоих файлах.




Требования:
  • Все теги заключаются между: и
  • Посчитайте теги в RO, посчитайте теги в EN и сравните.
    Затем подсчитайте слова в тегах в RO и сравните с количеством слов в тегах в EN.
  • Сравнивает html-теги в RO с html теги в EN, по порядку, и отображает уникальные теги из обоих файлов.
RO d:\3\ro\incotro-vezi -tu-privire.html

Stiu ca este dificil sa conduci la inceput, dar dupa 4-5 luni inveti.
Imi place sa merg la scoala si sa invat, mai ales in timpul saptamanii.
Sunt un bun conducator auto, dar am facut si greseli din care am invatat.
În fond, cele scrise de mine, sunt adevarate.
Iubesc sa conduc masina.
Ma iubesti?
Stiu ca este dificil sa conduci la inceput, dar dupa 4-5 luni inveti.
Totul se repetă, chiar și ochii care nu se vad.
BEE servesc o cafea 2 mai buna



EN d:\3\en\where-do-you-see-look.html

I like going to school and learning, especially during the week.
I'm a good driver, but I've also made mistakes that I've learned from.
Basically, what I wrote is true.
I love driving.
I know it's difficult to drive at first, but after 4-5 months you learn.
Everything is repeated, even the eyes that can't see.


Ожидаемый результат: d:\3\Output\where-do-you-see-look.html

Stiu ca este dificil sa conduci la inceput, dar dupa 4-5 luni inveti.
I like going to school and learning, especially during the week.
I'm a good driver, but I've also made mistakes that I've learned from.
Basically, what I wrote is true.
Ma iubesti?
I love driving.
I know it's difficult to drive at first, but after 4-5 months you learn.
Everything is repeated, even the eyes that can't see.
BEE servesc o cafea 2 mai buna


Код Python должен сравнивать теги html в RO с тегами html в EN и отображать в выводе уникальные теги в обоих файлах, принимая во внимание, что большинство тегов в RO имеют соответствующие значения. перевод в тегах на EN. Но идея кода в том, что код находит в RO и те html-теги, которые были пропущены при переводе в EN.
Вот как я придумал решение в коде Python . Я выполнил простой расчет.
Первый метод:
Сначала вам нужно посчитать все теги в ro, затем все теги в en.
Затем вам нужно запомнить каждый тип тегов в ro, а затем и в en.
Затем вам нужно посчитать слова в каждом теге в ro и слова в каждом тег в ru.
Не забывайте, что одинаковых тегов может быть 2, но на разных строках, как и в РО.
Затем нужно статистически посчитать результат. Сколько стоят теги в ro минус теги в en?
Второй метод, позволяющий проверить выходные данные, — распечатать экран. Сравните всю часть ro и всю часть en отдельно с помощью OCR, затем построчно посмотрите, какие теги в ro имеют плюс по сравнению с тегами в en.
КОД PYTHON:< /strong>
import re
import os

def extract_tags(content):
start = content.find('')
end = content.find('')
if start == -1 or end == -1:
raise ValueError("Marcajele 'ARTICOL START' sau 'ARTICOL FINAL' lipsesc.")

section_content = content[start:end]
pattern = re.compile(r'
(?:)?.*?
', re.DOTALL)
tags = []

for idx, match in enumerate(pattern.finditer(section_content), 1):
tag = match.group(0)
text = re.sub(r']+>', '', tag).strip()

if '' in tag or '' in tag:
tag_type = 'span'
elif 'class="text_obisnuit2"' in tag:
tag_type = 'text_obisnuit2'
else:
tag_type = 'text_obisnuit'

tags.append({
'index': idx,
'tag': tag,
'text': text,
'type': tag_type,
'word_count': len(text.split())
})
return tags

def find_matching_pairs(ro_tags, en_tags):
matched_indices = set()
used_en = set()

for i, ro_tag in enumerate(ro_tags):
for j, en_tag in enumerate(en_tags):
if j in used_en:
continue

if ro_tag['type'] == en_tag['type']:
word_diff = abs(ro_tag['word_count'] - en_tag['word_count'])
if word_diff

Подробнее здесь: https://stackoverflow.com/questions/791 ... n-en-folde
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»