javascript - 我可以向 Cheerio 选择器添加变量吗?

标签 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>

该表还有一百多行,每行都由 tri 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 fullTable = $('tr[id="'+variable_goes_here+'"]');

谢谢!

关于javascript - 我可以向 Cheerio 选择器添加变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48403226/

相关文章:

node.js - gulp 4错误: "Did you forget to signal async completion?"

web-scraping - 爬取和抓取特别困难的网站?

javascript - 单击页面上的任意位置时切换 div 内容

javascript - 将图像放入 html Canvas

mysql - 我想检查数组中的任何值是否在数据库中

node.js - 在 Node 中使用 request 和express 制作代理

python - Selenium 只点击一次链接,再次调用 click() 返回错误

screen-scraping - 有没有办法以编程方式从 iTunes 页面提取播客的提要?

javascript - Angular JS - 如何将 JSON 值转换为 JSON 键?

javascript - ng-repeat orderBy 位置不起作用