Python xml.dom 和错误的 XML
-
18-09-2019 - |
题
我正在尝试使用 python 程序从各种 HTML 页面中提取一些数据。不幸的是,其中一些页面包含用户输入的数据,这些数据偶尔会出现“轻微”错误 - 即标签不匹配。
有没有好的方法让 python 的 xml.dom 尝试纠正错误或类似的事情?或者,是否有更好的方法从可能包含错误的 HTML 页面中提取数据?
其他提示
我曾经使用 BeautifulSoup 来完成此类任务,但现在我已经转向 HTML5库 (http://code.google.com/p/html5lib/)在许多 BeautifulSoup 失败的情况下效果很好
另一种选择是使用“元汤" (http://effbot.org/zone/element-soup.htm) 这是使用 ElementTree 对 Beautiful Soup 的包装
如果Jython是可以接受你,tagsoup是在解析垃圾非常好 - 如果是这样,我发现JDOM库更容易比其他XML的替代品使用。
这是从演示实体模型的一个片段是与屏幕从TFL的旅程规划刮:
private Document getRoutePage(HashMap params) throws Exception { String uri = "http://journeyplanner.tfl.gov.uk/bcl/XSLT_TRIP_REQUEST2"; HttpWrapper hw = new HttpWrapper(); String page = hw.urlEncPost(uri, params); SAXBuilder builder = new SAXBuilder("org.ccil.cowan.tagsoup.Parser"); Reader pageReader = new StringReader(page); return builder.build(pageReader); }
不隶属于 StackOverflow