diff --git a/newspaper/parsers.py b/newspaper/parsers.py index 222c45b2..3debcc0f 100644 --- a/newspaper/parsers.py +++ b/newspaper/parsers.py @@ -10,6 +10,7 @@ import lxml.etree import lxml.html import lxml.html.clean +import re from copy import deepcopy @@ -43,6 +44,10 @@ def css_select(cls, node, selector): def fromstring(cls, html): html = utils.encodeValue(html) try: + # Remove encoding tag because lxml won't accept it for unicode objects (Issue #78) + if html.startswith('', '', html, flags=re.DOTALL) + cls.doc = lxml.html.fromstring(html) except Exception, e: print '[Parse lxml ERR]', str(e)