首页 > 解决方案 > jQuery (Cheerio) 不返回 img src 链接

问题描述

我正在尝试制作一个用于从 HTML 页面获取数据的 Javascript 应用程序。仅使用文本(标题、描述等)就可以正常工作,但由于某种原因,尝试查找 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>

提前致谢。

标签: javascriptjquerydomweb-scraping

解决方案


我不确定到底是什么问题(也测试了延迟加载),但我从页面的另一部分获取了图像。页面顶部的“内容”元标记中也提到了该图像,因此我从那里得到了它。


推荐阅读