【问题标题】:Can I add a variable to a cheerio selector?我可以向cheerio 选择器添加变量吗?
【发布时间】:2018-01-23 13:43:50
【问题描述】:

我有一张如下所示的表格:

<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?

谢谢!

【问题讨论】:

  • var tableRow = fulltable.find('#' + variable_goes_here);
  • 我设法做到了不同的方式,但这种方式也有效,谢谢!

标签: javascript node.js screen-scraping cheerio


【解决方案1】:

我设法做到了:

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

谢谢!

【讨论】:

    猜你喜欢
    • 2014-01-07
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 2019-08-21
    相关资源
    最近更新 更多