X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=Robots%2Fparse_html_beautifulsoup.py;h=9b0faded06ab92cb951b844421555776690118ff;hb=4e86db886a2c446928438a038002b3084e7c0977;hp=62ef27709a67d27a91c7a86d220e6214d7f94888;hpb=ea4316e0c474e17787d3a50fffb1d299e8604cc4;p=bookmarks_db.git diff --git a/Robots/parse_html_beautifulsoup.py b/Robots/parse_html_beautifulsoup.py index 62ef277..9b0fade 100644 --- a/Robots/parse_html_beautifulsoup.py +++ b/Robots/parse_html_beautifulsoup.py @@ -1,7 +1,7 @@ """ HTML Parser using BeautifulSoup - Written by BroytMann. Copyright (C) 2007 PhiloSoft Design + Written by BroytMann. Copyright (C) 2007, 2008 PhiloSoft Design """ import re @@ -63,11 +63,22 @@ def parse_html(filename, charset=None): except AttributeError: return None + 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: - return '' # HEAD but no TITLE + title = '' # HEAD but no TITLE + + if (not title) and (head is not root.html): + # Some sites put TITLE in HTML outside of HEAD + + try: + title = root.html.title.string.encode(_charset) + except AttributeError: + title = '' # no TITLE in HTML too meta = head.find(_find_refresh, recursive=False) if meta: