make BeautifulSoup use lxml to avoid bad html parsing errors