从非常大的HTML文件中解析特定元素

1 html c# c++ python parsing

我有一个非常大的HTML文件(几兆字节).我知道我想要的数据是类似的<div class=someName>here</div>

什么是一个很好的库来解析HTML页面,所以我可以遍历元素并抓住每个元素someName?我想用C#,Python或C++来做这件事.

Pao*_*ino 12

我会使用Python和BeautifulSoup来完成这项工作.处理这种东西非常扎实.

对于您的情况,您可以使用SoupStrainer使BeautifulSoup仅解析具有您想要的类的文档中的DIV,因此它不必在内存中包含整个内容.

例如,假设您的文档如下所示:

<div class="test">Hello World</div>
<div class="hello">Aloha World</div>
<div>Hey There</div>
Run Code Online (Sandbox Code Playgroud)

你可以这样写:

>>> from BeautifulSoup import BeautifulSoup, SoupStrainer
>>> doc = '''
...     <div class="test">Hello World</div>
...     <div class="hello">Aloha World</div>
...     <div>Hey There</div>
... '''
>>> findDivs = SoupStrainer('div', {'class':'hello'})
>>> [tag for tag in BeautifulSoup(doc, parseOnlyThese=findDivs)]
[<div class="hello">Aloha World</div>]
Run Code Online (Sandbox Code Playgroud)