X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=Robots%2Fparse_html_beautifulsoup.py;h=9b0faded06ab92cb951b844421555776690118ff;hb=4e86db886a2c446928438a038002b3084e7c0977;hp=730e263423d9fd25beb943966dc226718924ce12;hpb=d386b584839879f104625950ffe2931d0a72862d;p=bookmarks_db.git diff --git a/Robots/parse_html_beautifulsoup.py b/Robots/parse_html_beautifulsoup.py index 730e263..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,12 +63,23 @@ 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: 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: refresh = meta.get("content")