Найти текст в строке и распечатать несколько результатов - PullRequest
0 голосов
/ 27 мая 2020

У меня результат длинной строки, например:

<a href="#">aaa</a>
<a href="#">bbb</a>
<a href="#">ccc</a>

Как мне найти строку для '# ">' и получить результат

aaa,bbb,ccc

Было бы хорошо сказать найдите '#' и напечатайте то, что находится между '>' и '<' </p>

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 27 мая 2020

Приведенный ниже код берет код с любой веб-страницы и возвращает содержимое любых тегов со значением href #

from bs4 import BeautifulSoup

r  = requests.get('WEBSITE URL')

r = r.text

soup = BeautifulSoup(r, 'html.parser')

elements = soup.find_all('a')
for element in elements:
    b = element.attrs['href']
    if b == '#':
        print(element.contents)
1 голос
/ 27 мая 2020

с использованием встроенной библиотеки re

import re

string = """<a href="#">aaa</a>
<a href="#">bbb</a>
<a href="#">ccc</a>"""

results = re.findall('href="#">(?P<data>[a-zA-Z]+)<', string)

Вы можете настроить поиск регулярных выражений в соответствии с вашими потребностями, но это работает с данными вашего примера.

Обратите внимание, что вы также можете захотеть рассмотрите библиотеку синтаксического анализа html, такую ​​как BeautifulSoup4, если вы проводите более подробный анализ html.

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