Neem alleen overspanning tekst dan bevat specifieke tekenreeks

stemmen
0

Ik probeer uit te werken een manier om tekst in de tijdsspanne attribuut terugkeren indien het een specifieke reeks of karakter in dit geval bevat ( ':'). Wat ik tot nu toe is:

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

Ik heb iets gezien langs de lijnen van deze, maar het werkt niet:

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

Is het een soort van onbetrouwbare karakter ( 'like nodig : om het te laten werken')? Juicht bij voorbaat voor alle hulp.

De vraag is gesteld op 09/10/2019 om 12:58
bron van user
In andere talen...                            


2 antwoorden

stemmen
1

Wat je wilde waarschijnlijk om te controleren ":" in span.get_text()in plaats van span.get_text() == ":".

Maar wat je kunt doen is om reguliere expressie en het gebruik van textparameter van .find/ findAll:

import re
contracts = soup.findAll('span', text=re.compile('.*:.*')) 
antwoordde op 09/10/2019 om 13:02
bron van user

stemmen
0

Zou het kunnen je gewoon moet doen

if ":" in span.get_text()
antwoordde op 09/10/2019 om 13:02
bron van user

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