#python-3.x #web-scraping #beautifulsoup
#python-3.x #очистка веб-страниц #beautifulsoup
Вопрос:
В списке «c», который я хочу, должно быть просто название коэффициентов, например c = [Стандартное отклонение, коэффициент Шарпа, коэффициент Трейнора]. С текущим кодом он принимает дополнительную информацию (вещи внутри ‘h3’). Любая помощь приветствуется. Спасибо.
from bs4 import BeautifulSoup
import requests
import pandas as pd
headers = {'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/86.0.4240.198 Safari/537.36"}
url = https://www.moneycontrol.com/mutual-funds/nav/axis-bluechip-fund-growth/MAA009
response12 = requests.get(url, headers=headers).text
bs12 = BeautifulSoup(response12)
pos = bs12.find_all('h3', attrs = {'class' : 'list TAC'})
c = []
for div in pos:
c.append(div.text.strip())
Ответ №1:
вы можете использовать contents
содержимое — это упорядоченный список объектов тегов и NavigableString, содержащихся в элементе страницы.
for div in pos:
c.append(div.contents[0])
print(c)
Результаты
['Standard Deviation', 'Beta', 'Sharpe Ratio', "Treynor's Ratio", "Jension's Alpha"]