我目前正在尝试抓取一个 HTML 格式相当糟糕的网站(通常缺少结束标签,不使用类或 ID,因此很难直接找到您想要的元素等)。到目前为止,我一直在使用 BeautifulSoup 并取得了一些成功,但每隔一段时间(尽管很少),我会遇到一个页面,在该页面中,BeautifulSoup 创建的 HTML 树与(例如)Firefox 或 Webkit 有点不同。虽然这是可以理解的,因为 HTML 的格式使这种模棱两可,但如果我能够获得与 Firefox 或 Webkit 生成的相同的解析树,我将能够更轻松地解析事物。问题通常是网站打开一个<b>
标签两次,当 BeautifulSoup 看到第二个<b>
标签时,它立即关闭第一个标签,而 Firefox 和 Webkit 嵌套<b>
标签。
是否有 Python(甚至任何其他语言(我快要绝望了))的网络抓取库可以重现 Firefox 或 WebKit 生成的解析树(或者在模棱两可的情况下至少比 BeautifulSoup 更接近)。