Use a proper HTML parser with BS and catch exceptions

Fixes #473
This commit is contained in:
Joseph Schorr 2015-09-10 16:14:29 -04:00
parent 14107893a6
commit 6ca33ca108

View file

@ -32,11 +32,13 @@ def render_snapshot(url):
# Remove script tags
logger.info('Removing script tags: %s' % url)
soup = BeautifulSoup(out_html.decode('utf8'))
to_extract = soup.findAll('script')
for item in to_extract:
item.extract()
logger.info('Snapshotted url: %s' % url)
try:
soup = BeautifulSoup(out_html.decode('utf8'), 'html.parser')
to_extract = soup.findAll('script')
for item in to_extract:
item.extract()
except:
logger.exception('Exception when trying to parse served HTML')
return out_html
return str(soup)