我在解析时得到这个 HTML 代码:
<div class="row tab-pane" id="tab-description">
<div class="col-md-6">
<h3>Описание Makita 4329 Лобзик электрический</h3>
<ul>
<li><span>Новый эргономичный дизайн </span></li>
<li><span>Удобная D-образная рукоятка с резиновыми вставками </span></li>
<li>Маятниковый ход </li>
</ul>
</div>
<div class="col-md-6">
<h3>Характеристики Makita 4329 Лобзик электрический</h3>
<table class="reviewtab table table-striped">
<tbody>
<tr>
<td>Производитель</td>
<td class="odd" itemprop="brand"> Makita </td>
</tr>
<tr>
<td>Страна происхождения</td>
<td class="odd"> Япония </td>
</tr>
<tr>
<td>Штрих код:</td>
<td class="odd">088381083102</td>
</tr>
</tbody>
</table>
</div>
</div>
它有我需要的 2 个 div,类为“col-md-6”。我需要得到除h3之外的所有这些,这是一个例子:
获取描述
<ul>
<li><span>Новый эргономичный дизайн </span></li>
<li><span>Удобная D-образная рукоятка с резиновыми вставками </span></li>
<li>Маятниковый ход </li>
</ul>
我得到特征
<table class="reviewtab table table-striped">
<tbody>
<tr>
<td>Производитель</td>
<td class="odd" itemprop="brand"> Makita </td>
</tr>
<tr>
<td>Страна происхождения</td>
<td class="odd"> Япония </td>
</tr>
<tr>
<td>Штрих код:</td>
<td class="odd">088381083102</td>
</tr>
</tbody>
</table>
以下是我遇到的问题:
1)可能缺少其中一个块,您需要以某种方式“理解”描述在哪里,以及特征在哪里。在这种情况下它会流行什么,在这种情况下应该使用库的哪些方法?
2)我怎样才能删除我不需要的h3s?
<h3>.*</h3>可以使用正则表达式(即<h3> любая последовательность символов </h3>)从代码中提取所有 h3 标头及其内容。唯一的问题是,如果“body” div 内还有其他人
<h3></h3>,它们也会被排除在外。如果“正文”内没有第三级标题 - 只需
<h3>.*</h3>通过用于处理正则表达式的库删除正则表达式出现的所有结果(取决于执行解析的语言)升级版:
要区分描述在哪里,特征在哪里,可以先检查div中是否有正则表达式,
<h3>Описание.*</h3>或者<h3>Характеристики.*</h3>根据这些正则表达式的存在判断块类型,然后才删除h3,如上所示h3您可以在其中找到标签div并从中提取第一个单词,这将表明该块的用途。extract然后在解析后使用该方法将其删除。例子:
标准输出: