Scrapy response. css - два тега без четких идентификаторов - PullRequest
0 голосов
/ 02 мая 2020

Я только начинающий в области скрапинга, сталкиваюсь с некоторыми проблемами:

<tr>
<td rowspan="2" style="vertical-align: top; width: 20%;">
1.&nbsp;c4<br>

<script type="text/javascript">
...
<\script>

</td>
<td style="vertical-align: top;">The English Defense, here I give up the centre to Black as a target for attack.</td>
</tr>

Если я хочу получить текст "c4" и "The English Defense, here I give up the centre to Black as a target for attack.", можно было бы использовать response.css('tr td::text').extract().

Но что я могу сделать, если мне нужен только текст второго тега <td>, поскольку теги <td> не имеют id или class или чего-либо еще? В этой ссылке я не нашел решения для использования style или rowspan ...

1 Ответ

2 голосов
/ 03 мая 2020

Вы можете использовать селектор nth-child. В вашем конкретном случае c это будет:
response.css("td:nth-child(2)::text").extract()

...