我可以在cheerio选择器中添加变量吗?

时间:2018-01-23 13:43:50

标签: javascript node.js screen-scraping cheerio

我有一个看起来像这样的表:

<table id="rounded-corner" class="sortable" style="width: 100%;">
<tbody>
<tr id="001" class="US">
<td>1
<td class="rare3">3★
<td sorttable_customkey="001"><a href="#001">
<div class="large" style="background-image: 
url('icons/servant/servant_0011.png'), 
</div></a>
<td sorttable_customkey="Mash Kyrielight">Name_of_character
</tr>
</tbody>
</table>

该表有超过一百行,每行由tr id定义。所以我想选择我需要的唯一ID,而不是选择整个表,但我不知道如何将变量传递给cheerio选择器。

我想做这样的事情:

request(url, function(error, response, html) {
  if(!error && response.statusCode == 200) {
    var $ = cheerio.load(html);
    var fullTable = $('table[class="sortable"]');
    var tableRow = $(fulltable).find('td[id="variable_goes_here"]');

从那里我可以从我需要的td标签中抓取数据。

有没有办法在find()中放置一个变量,或者我是否需要将整个表解析为一个数组,然后去寻找id?

谢谢!

1 个答案:

答案 0 :(得分:0)

我设法使用:

var fullTable = $('tr[id="'+variable_goes_here+'"]');

谢谢!