Я пытаюсь создать плагин Python для автоматизации добавления атрибутов HTML к гиперссылкам, которые соответствуют определенным критериям для сносок (в электронных книгах) - например, если это верхний индекс, если это число в квадратных или круглых скобках ... пока чтотак хорошо, и мне удалось добавить атрибуты, используя Beautiful Soup для этих условий.
В разных книгах много пар сносок. Все электронные книги сделаны по-разному (например, сноски не обязательно имеют один и тот же класс). Каждый номер сноски имеет URL с идентификатором фрагмента, который двунаправленно связан с другой ссылкой с соответствующим идентификатором, чтобы помочь читателю ориентироваться.
Например:
// on chapter.xhtml
Footnote 1 <a id="fn1" href="../Text/chapter.xhtml#rfn1">[1]</a>
Footnote 2 <a id="fn2" href="../Text/chapter.xhtml#rfn2">[2]</a>
1. <a id="rfn1" href="../Text/chapter.xhtml#fn1">1.</a> Footnote 1
2. <a id="rfn2" href="../Text/chapter.xhtml#fn2">2.</a> Footnote 2
Желаемый результат - новозвратные ссылки могут появляться в любом месте книги, поэтому полезно автоматизировать этот процесс:
Footnote 1 <a id="fn1" href="../Text/chapter.xhtml#rfn1">[1]</a>
Footnote 2 <a id="fn2" href="../Text/chapter.xhtml#rfn2">[2]</a>
1. <a id="rfn1" href="../Text/chapter.xhtml#fn1" role="doc-backlink">1.</a> Footnote 1
2. <a id="rfn2" href="../Text/chapter.xhtml#fn2" role="doc-backlink">2.</a> Footnote 2
Теперь я хочу добавить атрибут HTML ко всем ссылкам, которые имеют функцию возврата к исходной ссылке. в паре. Это всегда будут ссылки в паре сносок, которые стоят на втором месте в книге (но их идентификатор можно назвать как угодно.) Однако есть много сносок, и я изо всех сил пытаюсь выполнить соответствующее упражнение.
Так чтоВот несколько вопросов, с которыми мне бы очень хотелось помочь:
Как найти идентификатор фрагмента каждой ссылки на сноску?
Как найти идентификатор каждой ссылки на сноску?
Как сравнить идентификаторы фрагментов и идентификаторы?
Как добавить атрибут HTML только ко второму вхождению в книге в каждой паре сносок?
Я пробовалвложенный в циклы, но я не совсем уверен, как этого добиться. В настоящее время я нахожу все ссылки, используя Beautiful Soup, и, если они удовлетворяют определенным критериям, добавляя соответствующие атрибуты, используя Beautiful Soup.
В электронных книгах есть несколько глав (файлы xhtml), поэтому я надеюсь, что этоне повлияет на результат работы плагина.
Я совершенно новичок в этом, так что спасибо за ваше время.