Использование регулярных выражений с selectSone от BeautifulSoup - PullRequest
0 голосов
/ 11 июня 2019

Я прочитал ответы на этом сайте, которые описывают использование reg ex для запросов 'find' в BeautifulSoup.Однако ответы менее ясны относительно использования reg ex и запросов к нескольким тегам при использовании select_one.

В частности, у меня есть два тега, показанные ниже.

'#CommitYear14'
'#CommitYear12'

Так что мне просто нужнозапрос, который ищет совпадения с #CommitYear.

Мой запрос сейчас

college_info = beautiful_soup_parsing.select_one(tag)

, где тегом является либо «# CommitYear14», либо «# CommitYear12».Я не знаю, как получить 14 и 12.

1 Ответ

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

Функция select_one() предназначена для применения селекторов CSS, вы не можете использовать re с ней. Но, однако, вы можете использовать CSS selecor ^=, который выбирает элемент (ы), значение атрибута которого начинается с выбранной строки (для ссылки на селекторы CSS посмотрите на это ):

data = '''
<div id="CommitYear12">CommitYear12</div>
<div id="CommitYear14">CommitYear14</div>'''

from bs4 import BeautifulSoup

soup = BeautifulSoup(data, 'lxml')

print(soup.select_one('[id^="CommitYear"]'))

Печать:

<div id="CommitYear12">CommitYear12</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...