From: Radek Czajka Date: Thu, 15 Sep 2011 14:56:10 +0000 (+0200) Subject: function to extract annotations from html X-Git-Tag: 1.7~198 X-Git-Url: https://git.mdrn.pl/librarian.git/commitdiff_plain/b416c7d130f17ac3191d2ef39492cd7c4f70bef7?ds=sidebyside;hp=7e7eac17f776821311bdcc305052575f7994989e function to extract annotations from html --- diff --git a/librarian/html.py b/librarian/html.py index 5f832e3..1c141f3 100644 --- a/librarian/html.py +++ b/librarian/html.py @@ -263,3 +263,15 @@ def add_table_of_contents(root): root.insert(0, toc) + +def extract_annotations(html_path): + """For each annotation, yields a tuple: anchor, text, html.""" + parser = etree.HTMLParser(encoding='utf-8') + tree = etree.parse(html_path, parser) + for footnote in tree.find('//*[@id="footnotes"]').findall('div'): + anchor = footnote.find('a[@href]').get('href') + del footnote[:2] + text_str = etree.tostring(footnote, method='text', encoding='utf-8') + html_str = etree.tostring(footnote, method='html', encoding='utf-8') + yield anchor, text_str, html_str +