включает в себя только поверочный текст, чем содержит специальную текстовую строку

голоса
0

Я пытаюсь разработать способ вернуть текст в атрибуте диапазона, если он содержит определенную строку или символ в этом случае ( «:»). То, что я до сих пор:

Contract = soup.find('div', {'class': 'contact-long'}).find_all('span')
Contract_Keys = [span.get_text() for span in Contract]

Я видел кое-что вдоль линий этого, но он не работает:

Contract = soup.find('div', {'class': 'contact-long'}).find_all('span')
Contract_Keys = [span.get_text() for span in Contract if span.get_text() == :]

Нужно ли какое - то дикая кошка характер (как « : ») , чтобы заставить его работать? Приветствия заранее за любую помощь.

Задан 09/10/2019 в 12:58
источник пользователем
На других языках...                            


2 ответов

голоса
1

То , что вы хотели, вероятно , чтобы проверить ":" in span.get_text()вместо span.get_text() == ":".

Но то , что вы можете сделать , это использовать регулярные выражения и textпараметр .find/ findAll:

import re
contracts = soup.findAll('span', text=re.compile('.*:.*')) 
Ответил 09/10/2019 в 13:02
источник пользователем

голоса
0

Может быть, вам просто нужно сделать

if ":" in span.get_text()
Ответил 09/10/2019 в 13:02
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more