jQuery(Cheerio)不返回img src链接

时间:2018-08-30 12:02:02

标签: javascript jquery dom web-scraping

我正在尝试开发一个Javascript应用程序以从HTML页面获取数据。 仅使用文本(标题,描述等)可以正常工作,但是由于某种原因尝试查找img src URL无效。 我的代码在下面,下面是到目前为止我尝试过的示例。

this.processDocument = function(html, url, headers, status, cheerio) {
            var app = this;
            var $ = cheerio;
            var $html = app.parseHtml(html, $);
    var object = {};

    object.title = $html.find('h1').text();
    object.title = this.removeExtraWhitespace(object.title);

    object.image = $html.find('.event_article').find('img').attr("src");

    object.copyright = $html.find('div[class="copyright"]').text();

    object.intro = $html.find('.introduction').text();
    object.intro = this.removeExtraWhitespace(object.intro);
    return JSON.stringify(object);
}

(我尝试过的例子)

object.image = $html.find('.event_article').find('img').attr("src");
object.image = $html.find('.event_article img').attr("src");
object.image = $('.event_article img').attr("src");
object.image = $('.event_article img').attr("src");
object.image = $html.find('.event_article img src').text();
object.image = $(unescape($html.find('.event-article').text())).find("img").attr("src");
object.image = $('figure').find('img').attr('src')
object.image = $html.find('figure').find('img').attr('src');
object.image = $html.find($('figure img')).attr('src');

(HTML源代码)

<div class="container">
<div class="contents_wrap">

    <!--main_contents------------------->
    <main role="main" id="main_contents">
        <div class="contents_inner">

            <!--event_article-->
            <section>
                <article class="event_article">
                    <h1 class="article_title">Bread & Coffee Party</h1>
                    <div class="info">
                        <figure class="image"><img src="https://d3cx2fdgbfj572.cloudfront.net/articles/images/000/025/392/small/a49553f4-5225-4b21-bbbb-c3c983648efb.jpg?1535574526" alt="breadandcoffee"><br><span class="copyright">John Hemberly</span></figure>

谢谢。

1 个答案:

答案 0 :(得分:0)

我不确定问题到底出在哪里(也经过了lazyload的测试),但是我从页面的另一部分拍摄了图像。在页面顶部的“内容”元标记中还提到了该图片,所以我从那里得到了它。