javascript - Scraper 不使用 Cheerio 使用 jquery 返回任何值

标签 javascript jquery node.js web-scraping cheerio

尝试抓取网站的首页 ( www.ozbargain.com ) 以返回包含 xbox 引用的 a 标记中的任何内容,但没有任何内容返回到控制台。我认为问题出在带有 :contains 的 if 语句上。

var fs = require('fs'),
    request = require('request'),
    cheerio = require('cheerio');

url = 'http://www.ozbargain.com.au';

request(url, function(error, response, html) {
  if (!error && response.statusCode == 200) {
    var $ = cheerio.load(html);
    if($("a:contains('Xbox')").length) {
      //console.log(this);
      var el = $(this);
      var log = el.text();
      console.log(log);
    } else {
      console.log('hey');
    }
  }
});

我正在寻找的 html block 。特别是,我想要 a 标签;

<h2 class="title" id="title214252"><a href="/node/214252">Free on Xbox One, Xbox 360, PS3, PS4: Tales from the Borderlands (Episode 1)</a></h2>

最佳答案

Cheerio 的 contains 语法与 jQuery 略有不同。省略您要搜索的字符串周围的单引号,它应该可以工作:

$("a:contains(Xbox)")

关于javascript - Scraper 不使用 Cheerio 使用 jquery 返回任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32980584/

相关文章:

javascript - Bootstrap 表单输入 : prevent submit, 但允许输入检查

javascript - 使用 --access public 发布到 npm 不起作用?

node.js - Node redis,变量在客户端之间共享?

javascript - 当我尝试通过 Id 获取标签时,为什么我的 jQuery 不工作?

javascript - 使用 PKCS #7(不透明)为网络签名数据

javascript - 找不到用于排序/更改 <div> 结构的 Jquery 脚本,有什么想法吗?

javascript - 如何使用 shown.sb.modal 事件在显示模式框 SELECT 表单控件之前填充它

jquery - 在 Sencha/jQuery 应用程序中预加载图像的最佳方法?

javascript - 快速路由 - 根据区域设置重定向

javascript - 如何在不刷新网页的情况下填充数据库列表