X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=Robots%2Fparse_html_beautifulsoup.py;h=209486c4054f015a179d4469ccaa5adc3f8bbe8f;hb=7f4662c68c41b4dfff5b134d3762591acecba656;hp=d73e4c313a62a67570eb190dac14d5198499ef1b;hpb=9ce15336f7969a5a32eb8fe7e8996a953eaa4eb2;p=bookmarks_db.git diff --git a/Robots/parse_html_beautifulsoup.py b/Robots/parse_html_beautifulsoup.py index d73e4c3..209486c 100644 --- a/Robots/parse_html_beautifulsoup.py +++ b/Robots/parse_html_beautifulsoup.py @@ -58,19 +58,27 @@ def parse_html(filename, charset=None): finally: infile.close() - _charset = root.originalEncoding try: - title = root.html.head.title.string.encode(_charset) + head = root.html.head except AttributeError: return None - meta = root.html.head.find(_find_refresh, recursive=False) + if head is None: + head = root.html # Some sites put TITLE in HTML without HEAD + + _charset = root.originalEncoding + try: + title = head.title.string.encode(_charset) + except AttributeError: + title = '' # HEAD but no TITLE + + meta = head.find(_find_refresh, recursive=False) if meta: refresh = meta.get("content") else: refresh = None - meta = root.html.head.find(_find_icon, recursive=False) + meta = head.find(_find_icon, recursive=False) if meta: icon = meta.get("href") else: