似乎无法在Node.js中抓取div类标签 [英] Cannot seem to scrape a div class tag in Node.js

查看:87
本文介绍了似乎无法在Node.js中抓取div类标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是node.js的新手。我的经验是使用Java和VBA。我正在尝试为一个朋友抓取一个网站,并且一切进展顺利,直到无法获得所需的东西为止。

I'm new to node.js. My experience has been in Java and VBA. I'm trying to scrape a website for a friend and all is going well until I can't get what I’m after.

<div class="gwt-Label ADC2X2-c-q ADC2X2-b-nb ADC2X2-b-Zb">Phone: +4576 102900</div>

该标签只有一个文本。没有attr或任何东西。但是我无法使用cheerio进行抓取。

That tag just has a text. no attr or anything. Yet I cannot scrape it using cheerio.

if(!err && resp.statusCode == 200){

    var $ = cheerio.load(body);

    var number = $('//tried everything here!').text();
    console.log(number);

我也使用过此功能

    $('.ADC2X2').filter(function(i){
        console.log("Sdfs");
        console.log (i);

任何建议将不胜感激。

谢谢大家!

推荐答案

我从cheerio那里得到答案文档

I take answer from cheerio documentation.

$(".gwt-Label").text();

如果这不起作用,则可能页面中有很多框架。
另一种可能性是页面是客户端的渲染器,例如有角页面,因此您的搜索不在服务器html中,而是仅在页面加载后创建。
如果是这样,您将使用完整的浏览器,例如 phantomjs ,而不仅仅是像cheerio这样的dom遍历工具。

if that's not working, maybe you have many frame in page. Another possibility is page is renderer at client side, like angular pages, so element your search is not in server html, but only created after page load. If that's true, you will to use a full browser like phantomjs and not only a dom traverser tool like cheerio.

这篇关于似乎无法在Node.js中抓取div类标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆