【问题标题】:Parsing values from Google news解析来自 Google 新闻的值
【发布时间】:2020-12-24 12:36:28
【问题描述】:

我正在尝试从 Google 新闻中解析结果。例如,从搜索“最新电影发行”中解析标题和文本,这里是 URL:

https://www.google.com/search?client=firefox-b-d&tbm=nws&sxsrf=ALeKk01qAUzdE7UzK9aWPL9MYALHEk6aiQ%3A1599313588168&ei=tJZTX6vwCdWr1fAP6eGiyAk&q=latest+movie+releases&oq=latest+movie+releases&gs_l=psy-ab.3...299098.305542.0.305681.31.25.3.2.2.0.161.1719.22j3.25.0....0...1c.1.64.psy-ab..1.13.704...0j33i10k1.0.9TgaNbbee40

结果似乎在id中使用了#rso:

但是$('#rso').each 上的迭代器是空的。为了遍历搜索结果的 div,我应该选择什么 id 或 css 元素?

迭代器代码:

$('#rso').each(function (i, element) {
    console('div level 1')
    var title = $(this).find('.r').text();
    var link = $(this).find('.r').find('a').attr('href').replace('/url?q=', '').split('&')[0];
    var text = $(this).find('.st').text();
    var img = $(this).find('img.th').attr('src');
    savedData.push({
      title: title,
      link: link,
      text: text,
      img: img
    });
  });

【问题讨论】:

    标签: javascript jquery google-chrome-devtools cheerio


    【解决方案1】:

    你能试试这个吗?

    let data = {};
    document.querySelectorAll("#rso").forEach(elem => {
        let hrefs = []; 
        let imgs = [];
        elem.querySelectorAll("a").forEach(aElem => {
            hrefs.push({href: aElem.getAttribute("href")});    
        });
        elem.querySelectorAll("img").forEach(iElem => {
            imgs.push({src: iElem.getAttribute("src")});        
        });
        data.links = hrefs;
        data.images = imgs;
    })
    

    请注意,每张卡片都有两张图片,一张是左侧的缩略图,另一张是实际图片。 所以图片列表长度将是链接列表的 2 * 长度。

    【讨论】:

      【解决方案2】:

      你应该改用$$

      $$('#rso > div')
      

      参考

      Console Utilities API Reference

      $(selector) 是 document.querySelector() 的别名

      $$(selector) 是 document.querySelectorAll() 的别名

      【讨论】:

        【解决方案3】:

        试试这个:

        $('#rso > div').each(...
        

        【讨论】:

        • 谢谢,但这并不能解决问题并产生相同的结果。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多