Используйте Select-String для очистки веб-страниц или другим способом - PullRequest
0 голосов
/ 26 июня 2019

Мне нужно почистить веб-страницу для получения некоторой информации, и я пытался использовать Select-String для этого. Меня интересует только одна часть информации о странице среди всего другого контента, в настоящее время я тестирую эту страницу, чтобы убедиться, что она работает правильно. Это раздел, который меня интересует ...

Я попытался разделить строки, а затем использовать Select-String - и у меня есть несколько других примеров близких, но не достаточно близких примеров, найденных через Интернет и здесь.

<div class="adrbox-light clearfix">
  <div class="adrbox-footer">
    <ul>
      <li>Name:
        <span class="darktext">John Test Value</span>
      </li>
      <li>Street Address:
        <span class="darktext">123 Sesame Street</span>
      </li>
      <li>City:
        <span class="darktext">AnyTown</span>
      </li>
      <li>State/Region:
        <span class="darktext">AnyStateRegion</span>
      </li>
      <li>Country:
        <span class="darktext">United States</span>
      </li>
    </ul>
  </div>
    <div id="adrbox-map" class="adrbox-map"></div>
</div>

единственные строки, которые мне интересно вернуть с помощью Select-String, - это каждая строка со словом "darktext" в них.

Я пытался сделать это с помощью Select-String, но он никогда не выбирает строки и ничего не возвращается. Как мне сделать это с помощью Select-String или есть лучший способ сделать это в Power Shell?

1 Ответ

0 голосов
/ 26 июня 2019

Если ваш HTML находится в массиве (одна строка на элемент массива), попробуйте использовать Where-Object вместо Select-String:

$HTMLArray | Where-Object {$_ -match "darktext"}

Обратите внимание, что правый операнд для -match считаетсярегулярное выражение и должно рассматриваться как таковое, так что если вы хотите сопоставить строку с точкой в ​​ней, например, foo.bar, вам придется экранировать точку: ... $_ match "foo\.bar" ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...