Есть ли способ очистки списка элементов HTML на основе ключевых слов, где структура документа не определена? - PullRequest
0 голосов
/ 13 апреля 2019

Я строю скребок, который будет использоваться на многих сайтах (слишком много, чтобы его можно было почистить вручную с помощью веб-инструмента, такого как 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, а не только текст.

Любая помощь / руководство будет высоко ценится.

...