Я пытаюсь почистить страницу, посвященную медицине и рыночным активам для некоторых компаний, по номеру https://www.formularylookup.com/
Приведенный ниже код дает мне желаемые данные, такие как Количество планов, какие аптеки покрывают лекарство, а статус в%. Вот пример моего вывода, где желаемым выводом будет просто «1330 планов»:
Количество планов:
<td class="plan-count" role="gridcell">1330 plans</td>
Я пытался использовать .text после каждого tag.find , но это не работает.
Вот мой код, касающийся этой указанной c части. Выше много чего происходит, но оно включает информацию о входе в систему, которой я не могу поделиться.
total = []
soup = BeautifulSoup(html, "lxml")
for tag in soup.find_all("tbody", {"role":"rowgroup"}):
#name = tag.find("td", {"class":"payer-name"}) #gives me whole tag
name = tag.find("tr", {"role":"row"}).find("td").get("payer-name") #gives me None output
plan = tag.find("td", {"class":"plan-count"}) #gives me whole tag
stat = tag.find("td", {"class":"icon-status"}) #gives me whole tag
data = {"Payer": name, "Number of plans": plan, "Status": stat}
total.append(data)
df = pd.DataFrame(total)
print(df)
Вот фрагмент кода, использующий функцию проверки.
<tbody role="rowgroup">
<tr data-uid="a5795205-1518-4a74-b039-abcd1b35b409" role="row">
<td class="payer-name" role="gridcell">CVS Caremark RX</td>
<td class="plan-count" role="gridcell">1330 plans</td>
<td role="gridcell" class="icon-status icon-status-not-covered">98% Not Covered</td>
</tr>
РЕДАКТИРОВАТЬ: после погружения глубже в SO я вижу, что решение может использовать функцию содержимого BS4. Будет отчитываться, если это работает. - Это не сработало: «AttributeError: объект« NoneType »не имеет атрибута« содержимое »»