includ numai textul conține decât durata șir de text specific

voturi
0

Am încercat să elaboreze o modalitate de a reveni textul în atributul interval în cazul în care conține un șir de caractere specific sau, în acest caz ( „:“). Ceea ce am până acum este:

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

Am văzut ceva de-a lungul liniilor de acest lucru, dar aceasta nu funcționează:

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

Are nevoie de un fel de caracter Wildcat (cum ar fi „ : “) pentru a face să funcționeze? Noroc in avans pentru orice ajutor.

Întrebat 09/10/2019 la 12:58
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
1

Ceea ce este , probabil , a vrut să verifice în ":" in span.get_text()loc span.get_text() == ":".

Dar ceea ce se poate face este de a folosi regex și textparametru .find/ findAll:

import re
contracts = soup.findAll('span', text=re.compile('.*:.*')) 
Publicat 09/10/2019 la 13:02
sursa de către utilizator

voturi
0

Ar putea fi doar ce trebuie să faci

if ":" in span.get_text()
Publicat 09/10/2019 la 13:02
sursa de către utilizator

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