inkluderer bare span tekst enn inneholder spesifikk tekststreng

stemmer
0

Jeg prøver å finne ut en måte å returnere tekst i span attributtet hvis den inneholder en bestemt streng eller tegn i dette tilfellet ( ':'). Hva jeg har så langt er:

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

Jeg har sett noe i retning av dette, men det virker ikke:

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

Betyr det trenger noen form for undersøkelses karakter (som ' : ') for å gjøre det? Cheers på forhånd for hjelp.

Publisert på 09/10/2019 klokken 12:58
kilden bruker
På andre språk...                            


2 svar

stemmer
1

Hva du ønsket er trolig å sjekke ":" in span.get_text()stedet for span.get_text() == ":".

Men det du kan gjøre er å bruke regex og textparameter av .find/ findAll:

import re
contracts = soup.findAll('span', text=re.compile('.*:.*')) 
Svarte 09/10/2019 kl. 13:02
kilden bruker

stemmer
0

Kan det være at du bare trenger å gjøre

if ":" in span.get_text()
Svarte 09/10/2019 kl. 13:02
kilden bruker

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