【问题标题】:Node.js scrape with cheerio return no valueNode.js 用cheerio 抓取没有返回值
【发布时间】:2020-12-24 20:15:00
【问题描述】:

我正在尝试使用 Node.js 自动执行我的一项任务,尝试在本地汽车乐透中找到中奖号码。

当我试图解析结果时,我什么也得不到。

这是我的尝试:

const rp = require('request-promise');
const $ = require('cheerio');
const url = 'https://www.otpbank.hu/portal/hu/Megtakaritas/ForintBetetek/Gepkocsinyeremeny';

rp(url)
 .then(function(html) {
   console.log($('.list-item list-item--primary ul li', html).text());
 })
 .catch(function(err) {
   //handle error
 });

【问题讨论】:

    标签: node.js screen-scraping cheerio


    【解决方案1】:

    既然'list-item--primary'已经是li元素,试试:

    const rp = require('request-promise');
    const cheerio = require('cheerio');
    const url = 'https://www.otpbank.hu/portal/hu/Megtakaritas/ForintBetetek/Gepkocsinyeremeny';
    
    rp(url)
     .then(function(html) {
        const $ = cheerio.load(html);
        let data = [];
        $('.list-item--primary').map((i,elm) => {
            console.log(elm.innerText);
        });
     })
     .catch(function(err) {
       //handle error
     });
    

    【讨论】:

    • 效果很好,谢谢,有什么办法可以从单个 li 元素中提取文本?
    • 很高兴为您提供帮助。你会得到什么回报?
    • 我想获取list-item list-item--primary class li元素的编号,比如“10 8004923 Toyota Yaris 1,0 Active 5 ajtós”
    • 遗憾的是它返回未定义
    • 已将您的答案标记为结果,感谢您抽出宝贵时间,祝您节日快乐!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-29
    • 2022-11-23
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    相关资源
    最近更新 更多