我正在寻找从HTML文件中提取表更好的想法。现在,我使用整洁(http://tidy.sourceforge.net/)一个HTML文件转换为XHTML,然后我用rapidxml解析XML。在解析我会寻找<table>
,<tr>
和<td>
节点等创建我的表中的数据结构。
它的工作原理相当不错,但如果有更好的方法来完成我的任务,我想知道。另外,整洁的lib似乎是一个被遗弃的项目。
也有大家有没有试过在整洁的源代码中的“实验性”补丁?
谢谢,基督教
我觉得你的做法是相当确定。我认为最好的是整理和转换HTML为XHTML和解析XML。不能看到它如何可以简化。
你没有提任何问题,所以我不知道是什么问题。
您可以使用的HTMLParser(https://github.com/HamedMasafi/htmlparser)这LIB可以解析,读取和修改HTML和CSS
例如,你的情况为表的读数
html_parser html;
html.set_text(html_text);
auto table = html.query("#table_id").at(0);
for (auto tr : table->childs()) {
for (auto td : tr->childs()) {
//now here you have a td and you are free to any modify are data read
//e.g:
auto td_tag = dynamic_cast<html_tag*>(td);
td_tag->set_attr("id", "new_id"); // change attr
auto id = td_tag->attr("id");
auto test = td_tag->innser_text();
auto html = td_tag->outter_html();
}
}
快速入门范例是here