Найти - Пользователи
Полная версия: Парсинг HTML таблицы
Начало » Python для новичков » Парсинг HTML таблицы
1
lomach
Здравствуйте!

Необходимо спарсить содержимое html таблицы:

 <thead>
	<tr>
		<th class="text-center" width="1%">
			<span style="">
			</span>
		</th>
		<th class="text-center" width="15%">
			<span style="font-family:'Universal White',Serif;font-size :22px;"></span>
		</th>
		<th class="text-center" width="15%">
			<span style="font-family:'Rom',Serif;font-size :20px;"></span>
		</th>
		<th class="text-center" width="15%">
			<span style="font-family:,Serif;font-size :20px;"></span>
		</th>
		<th class="text-center" width="4%">
			<span style="font-family:'Goth12',Serif;font-size :20px;">
			</span>
		</th>
		<th class="text-center" width="5%">
			<span style="font-family:'Serif;font-size :20px;">
			</span>
		</th>
	</tr>
</thead>
<tbody>
	<tr>
		<td bgcolor="#a969c5">
			<span style="">
			</span>
		</td>
		<td>
			<span style="font-family:'Universal White',Serif;font-size :22px;">
				<font color="red">123</font>
			</span>
		</td>
		<td>
			<span style="font-family:Serif;font-size :20px;">
				wtf
			</span>
		</td>
		<td>
			<span style="font-family:Serif;font-size :20px;">
				sometext
			</span>
		</td>
		<td>
			<span style="font-family:'Universal White','Goth12',Serif;font-size :20px;">
			</span>
		</td>
		<td>
			<span style="font-family:'Rom',Serif; font-size :20px;">
					<a href="javascript:void(0)" onclick="loadDicImage(61,'101');">a</a>
			</span>
		</td>
	</tr>
</tbody>

Для парсинга решил использовать библиотеку lxml.

Вот мой код.
 from lxml import html, etree
def get_html(file_name, tag):
    tree = html.fromstring(file_name)
    nodes = tree.xpath(tag)
    for i in nodes:
        print(i.text)
if __name__ == '__main__':
    n = get_html(table, '//body/*')

Затруднение в следующем:
1. Согласно документации, есть опция использования Mixed Content и фишечка tail. (Собственно поэтому и использую эту библиотеку).
Проблема как раз в том, что есть тэги <span> и <font> внутри <td>. Эти тэги иногда отсутствуют. Это портит результаты парсинга.
Не могу догнать, как мне использовать tail из примера - http://effbot.org/zone/element.htm

py.user.next
lomach
Проблема как раз в том, что есть тэги <span> и <font> внутри <td>. Эти тэги иногда отсутствуют.
Приготовь страницу к парсингу. Пройди её первый раз и очисти всё ненужное. Во второй раз уже можешь парсить.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB