Я очищаю данные, используя библиотеку cheerio
, которая позволяет мне использовать селекторы jQuery
внутри моего приложения node.JS
. Веб-сайт, на котором я извлекаю данные, содержит три таблицы, все эти таблицы имеют одинаковые имена классов и идентичны. Количество строк таблицы (tr
) внутри этих таблиц может отличаться.jQuery выбрать все строки из первой таблицы из трех идентичных
Underneath является HTML скелет одной из таблиц:
<table class="component">
<tr class="body-row">
<td class="column">
<span class="display-inline-block">
<span class="data">Text 1</span> <!-- I'd like to be able to scrape these values -->
</span>
</td>
<td class="column">
<span class="display-inline-block">
<span class="data">Text 2</span> <!-- I'd like to be able to scrape these values -->
</span>
</td>
</tr>
<tr class="body-row">
<td class="column">
<span class="display-inline-block">
<span class="data">Text 3</span> <!-- I'd like to be able to output these values as JSON -->
</span>
</td>
<td class="column">
<span class="display-inline-block">
<span class="data">Text 4</span> <!-- I'd like to be able to output these values as JSON -->
</span>
</td>
</tr>
</table>
То, что я хотел бы сделать, это выбрать все строки из первой таблицы только и в конечном итоге выходные эти тексты, как JSON
. Как я могу достичь этого, когда все эти таблицы в основном идентичны (идентичные имена классов)?
Underneath - это то, что я пробовал до сих пор, но он по-прежнему выводит текст из всех трех таблиц, а не только из первых.
var that = $(this);
that.first('table.component').find("tr.body-row").each(function(){
console.log(that.find('span.data').text());
});
Заранее благодарен!
что 'that' именно? – Alex
О, извините. Это переменная, ссылающаяся на '$ (this)'. Я объявил это в своем коде, но забыл включить его здесь. –