У меня есть эта html структура:
<table>
<tbody>
<tr>....</tr>
<tr>....</tr>
<tr>....</tr>
<td align= "right" bgcolor="#ffffff">...</td>
<td bgcolor="efefef">...</td>
<td align= "right" bgcolor="#ffffff">...</td>
<td bgcolor="efefef">...</td>
<tr>....</tr>
В таблице каждый tr имеет 4 td, мне нужно создать выходной dict, что текст в первом td является ключом, второй значение для этого ключа, третий - новый ключ, а четвертый - значение для этого ключа. И сделайте это для каждого tr в таблице.
Я пробовал это на своем пауке:
это XPATH для таблицы: / html / body / table [3] / tbody / tr / td [1] / table / tbody / tr
def parse(self, response):
for row in response.xpath('/html/body/table[3]/tbody/tr/td[1]/table/tbody/tr'):
key1 = row.xpath("/td[0][@align='right']/font[@size='2']/text()").extract()
value1 = row.xpath("/td[1]/[@bgcolor='#efefef']/descendant::text()").extract()
key2 = row.xpath("/td[2][@align='right']/font[@size='2']/text()").extract()
value2 = row.xpath("/td[3]/[@bgcolor='#efefef']/descendant::text()").extract()
yield{
key1 : value1,
key2 : value2
}
Пробовал, но не работает. Я новичок в XPATH и scrapy, я не знаю, как делать такие вещи. Я извлек ключи и значения в отдельные массивы, но этот способ не решает мою проблему, мне нужно извлечь их с соответствующей парой ключ-значение.