Очистите содержание веб-страницы

Если вы планируете сопоставлять слова как куски текста, состоящие только из английских букв, вы можете использовать регулярное выражение, например

\b(?=\w*?a)(?=\w*?e)(?=\w*?i)(?=\w*?o)(?=\w*?u)[a-zA-Z]+\b

. См. Демонстрацию regex

. поддержка языков, кроме английского, вы можете заменить [a-zA-Z]+ на [^\W\d_]+.

Если «слово», которое вы хотите сопоставить, представляет собой кусок непробельных символов, вы можете использовать

(?

См. эту демонстрационную версию регулярного выражения .

Определите эти шаблоны в Python, используя необработанные строковые литералы, например:

rx_AllVowelWords = r'\b(?=\w*?a)(?=\w*?e)(?=\w*?i)(?=\w*?o)(?=\w*?u)[a-zA-Z]+\b'

Подробности

  • \b(?=\w*?a)(?=\w*?e)(?=\w*?i)(?=\w*?o)(?=\w*?u)[a-zA-Z]+\b:
    • \b - граница слова, здесь начальная граница слова.
    • (?=\w*?a)(?=\w*?e)(?=\w*?i)(?=\w*?o)(?=\w*?u) - последовательность положительных указаний, которые запускаются сразу после обнаружения положения границы слова и требуют наличия a, e, i, o и u после любых символов 0+ слов (букв, цифр, подчеркиваний - вы можете заменить \w*? на [^\W\d_]*?, чтобы проверять только буквы)
    • [ 1115] - 1 или более букв ASCII (заменить на [^\W\d_]+, чтобы соответствовать всем буквам)
    • \b - граница слова, здесь, конечная граница слова
  • [1142 ]

    Детали второго шаблона:

    • (?:
      • (? - позиция в начале строки или после пробела
      • (?=\S*?a)(?=\S*?e)(?=\S*?i)(?=\S*?o)(?=\S*?u) - все английские гласные должны присутствовать - в любом порядке - после любых 0+ символов кроме пробела
      • \S+ - 1+ непробельных символов.

15
задан Cœur 22 September 2018 в 12:16
поделиться

2 ответа

Определенно пойдите с Простой HTML PHP Синтаксический анализатор DOM . Это быстро, легко и супер гибкий. Это в основном засовывает всю страницу HTML в объект тогда, можно получить доступ к любому элементу от того объекта.

Как пример официального сайта, для получения всех ссылок на основной странице Google:

// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');

// Find all images 
foreach($html->find('img') as $element) 
       echo $element->src . '<br>';

// Find all links 
foreach($html->find('a') as $element) 
       echo $element->href . '<br>';
36
ответ дан 1 December 2019 в 00:11
поделиться

Можно использовать ВИХРЕВОЕ расширение PHP, чтобы сделать Запросы HTTP к другому веб-сайту из сценария страницы PHP. См. документация здесь.

, Конечно, оборотная сторона здесь - то, что Ваш сайт будет медленно отвечать, потому что необходимо будет очистить внешний веб-сайт, прежде чем можно будет представить полную страницу / вывод пользователю.

0
ответ дан 1 December 2019 в 00:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: