Я пытаюсь parse
только 2 столбца HTML-таблицы, которые я получил с веб-сайта с модулем requests
.Что я мог сделать, так это отсортировать все столбцы в строку в файле, чтобы их было легко прочитать, но мне действительно нужно это в dictionary
, чтобы потом я мог сравнить Clan Days
для имени пользователя SirFulgeruL
, напримерс integer
Вот мой код:
from html_table_extractor.extractor import Extractor
table_doc = """
<table class="table table-bordered">
<tbody>
<tr>
<th><i class="fa fa-sort-numeric-desc"></i> Rank</th>
<th><i class="fa fa-address-card"></i> Name</th>
<th><i class="fa fa-usd"></i> Deposited money</th>
<th><i class="fa fa-clock-o"></i> Clan Days</th>
<th>Time last 7 days</th>
<th><i class="fa fa-gear"></i> Options</th> </tr>
<tr>
<td>7</td>
<td><i class="fa fa-circle text-red" data-toggle="tooltip" data-original-title="offline"></i> <a href="https://jadepanel.nephrite.ro/profile/SirFulgeruL2k19">SirFulgeruL2k19</a></td>
<td><font style="color:green">$417,090</font></td>
<td>140</td>
<td>11:57</td>
<td></td>
</tr>
<tr>
<td>6</td>
<td><i class="fa fa-circle text-red" data-toggle="tooltip" data-original-title="offline"></i> <a href="https://jadepanel.nephrite.ro/profile/Darius">Darius</a></td>
<td><font style="color:green">$2,717,020</font></td>
<td>127</td>
<td>09:42</td>
<td><a onclick="remove_clan(3080)">uninvite</a></td>
</tr>
""""
extractor = Extractor(table_doc).parse()
extractor.write_to_csv(path='.')
Позднее редактирование:
Через некоторое время я смог разобрать только дни из таблицы, по некоторым причинам я могу 'разбирать имена.
from lxml import etree
parser = etree.HTMLParser()
tree = etree.fromstring(table_doc, parser)
days = tree.xpath('//tr/td[position()=4]')
print ('Column 2\n========')
for r in days:
print (r.text)