X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=parse_html%2Fbkmk_ph_lxml.py;h=03dd6f4c0d90bb60627a442d1dfb743eb7a07961;hb=fc3e4ef0d8f12520e40aaceb4fa405e0c6985133;hp=b14be408571ba53e0cfa5f60997394658ad2061b;hpb=80054d3bdcbde67d3b941e0b69b55ca4998f4673;p=bookmarks_db.git diff --git a/parse_html/bkmk_ph_lxml.py b/parse_html/bkmk_ph_lxml.py index b14be40..03dd6f4 100644 --- a/parse_html/bkmk_ph_lxml.py +++ b/parse_html/bkmk_ph_lxml.py @@ -1,21 +1,22 @@ """HTML Parser using lxml.html This file is a part of Bookmarks database and Internet robot. + """ __author__ = "Oleg Broytman " -__copyright__ = "Copyright (C) 2010-2012 PhiloSoft Design" +__copyright__ = "Copyright (C) 2010-2023 PhiloSoft Design" __license__ = "GNU GPL" __all__ = ['parse_html'] -from lxml.html import parse +from lxml.html import fromtring from .bkmk_ph_util import HTMLParser -def parse_html(filename, charset=None, log=None): - html_tree = parse(filename) +def parse_html(html_text, charset=None, log=None): + html_tree = fromtring(html_text) if html_tree.getroot() is None: return None @@ -35,11 +36,14 @@ def parse_html(filename, charset=None, log=None): break except IndexError: meta_charset = False + elif m.get('charset', ''): + meta_charset = m.get('charset').lower() + break else: meta_charset = False - if title and (charset or meta_charset): - title = title.encode(charset or meta_charset) + #if title and (charset or meta_charset): + # title = title.encode(charset or meta_charset) for m in meta: if m.get('http-equiv', '').lower() == 'refresh':