Я строю скребок, который будет использоваться на многих сайтах (слишком много, чтобы его можно было почистить вручную с помощью веб-инструмента, такого как Octoparse).
Вероятно, каждый сайт будет отличаться по структуре.Некоторые сайты могут иметь данные, которые я хочу удалить;некоторые не могут.Это должно быть определено с использованием списка ключевых слов / фраз.Из сайтов, которые я хочу, чтобы данные были проанализированы, они, вероятно, будут представлены в списке каким-либо образом.Однако элементы HTML, используемые для представления списка, являются неопределенными (т. Е. Могут быть списком ul, списком li, списком div, таблицей и т. Д.).
Если ключевое слово / ключевая фраза найдены, я хочу, чтобы не только этот элемент был проанализирован, но и все остальные, которые могут быть частью того же списка / группы.
Пример 1
<div>
<h1>Random content I am not interested in</h1>
</div>
<div>
<h1>Some more random content I am not interested in</h1>
</div>
<div>
<ul>
<li>Dogs</li>
<li>Cats</li>
<li>Birds</li>
</ul>
</div>
Пример 2
<div>
<h1>Random content I am not interested in</h1>
</div>
<div>
<h1>Some more random content I am not interested in</h1>
</div>
<div>
<div>
<div>
<div>
<h1>Bob</h1>
<p>A description of Bob</p>
</div>
<div>
<h1>Ben</h1>
<p>A description of Ben</p>
</div>
<div>
<h1>Bill</h1>
<p>A description of Bill</p>
</div>
</div>
</div>
</div>
Из первого примера, если бы я идентифицировал элемент Dogs
, я бы хотел, чтобы результат был Dogs, Cats, Birds
.
Из примераво-вторых, если бы я идентифицировал Бена, я бы хотел, чтобы результатом было 3 элемента div, каждый из которых содержит заголовок и абзац;ключ в том, что все результаты должны включать HTML, а не только текст.
Любая помощь / руководство будет высоко ценится.