Я пробую Beautiful Soup и использую приведенный ниже код для извлечения некоторого фрагмента данных.
response = requests.get(url_fii, headers=headers)
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text,'html.parser')
print (soup)
Я получаю следующий вывод:
<table class="holiday_list" width="100%">
<tr>
<th colspan="5" style="text-align:center">Heading line</th>
</tr>
<tr>
<th style="text-align:center">Category</th>
<th style="text-align:center">Date</th>
<th style="text-align:center">Value 1</th>
<th style="text-align:center">Value 2</th>
<th style="text-align:center">Value 3</th>
</tr>
<tr class="alt">
<td class="first"> Quantity</td>
<td class="date">09-Apr-2020</td>
<td class="number">7277.03</td>
<td class="number">5539.41</td>
<td class="number">1737.62</td>
</tr>
</table>
Теперь данные, которые меня интересуют, заключены в
:
. С помощью приведенного ниже кода я могу получить все, что хочу:
for p in soup('tr'):
print (p.text)
Ouput:
Heading line
Category
Date
Value 1
Value 2
Value 3
Quantity
09-Apr-2020
7277.03
5539.41
1737.62
Единственная нежелательная часть - «Линия курса». Так как это также включено в
, поэтому оно также поступает в вывод. Тем не менее, я заметил, что у него есть дополнительный атрибут, то есть «colspan». Как я могу использовать его в качестве фильтра, чтобы «Линия заголовка» не отображалась на выходе.