Use the method get_text
:
import requests, bs4,os
url = ('https://valor.globo.com/')
res = requests.get(url)
objSoup=bs4.BeautifulSoup(res.text,features="html.parser")
newsValor = objSoup.select('.highlight__subtitle')
full_text=[]
for i in range(len(newsValor)):
full_text.append(newsValor[i].get_text() + "\n\n") #dei um espaço de duas linhas para cada entrada para ver com mais clareza as manchetes
print(''.join(full_text))
Output:
Na contagem apenas dos votos válidos, Covas tem 57% e Boulos, 43%
Pesquisa exclusiva vai ajudar você a diversificar seus investimentos
Por seis votos a três, tribunal especial montado na Assembleia Legislativa de Santa Catarina considerou que Carlos Moisés não cometeu crime de responsabilidade ao conceder aumento salarial a procuradores do estado
Ex-juiz da Mãos Limpas diz que “encarcerar as pessoas é inútil e piora o problema”
Esta Black Friday registrará uma migração natural de parte da demanda das lojas físicas para o on-line
População ocupada no comércio foi a única a se manter estável no período
Decisão deixa a campanha do republicano com poucas opções para contestar os resultados do pleito na Pensilvânia
Nas últimas 24 horas, a Rússia registrou mais um recorde de 27.543 novos casos de covid-19, quase 25% deles na capital
Valores, segundo a CNI, variam de R$ 80 a R$ 1 mil por unidade inspecionada em porto
Receita total dos embarques do segmento chegou a US$ 577 milhões até outubro
Pesquisa mostra que brasileiros são mais otimistas quanto ao uso de ferramentas digitais
Note that newsValor
is an object that looks like a list and cannot extract the text directly from it, as can be seen in the methods list of that object (type dir(newsValor)
). However, the method get_text
is defined for the elements of newsValor
(typhoon dir(newsValor[0])
). Hence the need for a loop.