提问者:小点点

刮擦问题使我的旅行飞行数据使用cheerio


我正在刮使我的旅行飞行数据为一个项目,但由于某些原因,它没有工作。我试过很多选择器,但都不起作用。另一方面,我也试着用同样的逻辑去抓取另一个网站,结果成功了。有人能指出我哪里出错了吗?

我用的是cheerio和axios

const cheerio = require('cheerio');
const axios = require('axios');

走我的路:

axios.get('https://www.makemytrip.com/flight/search?itinerary=BOM-DEL-14/11/2020&tripType=O&paxType=A-1_C-0_I-0&intl=false&cabinClass=E').then(urlRes => {
    const $ = cheerio.load(urlRes.data);
    $('.fli-list.one-way').each((i, el) => {
        const airway = $(el).find('.airways-name ').text();
        console.log(airway);
    });
}).catch(err => console.log(err));

代码用于的其他站点:

axios.get('https://arstechnica.com/gadgets/').then(urlRes => {
    const $ = cheerio.load(urlRes.data);
    $('.tease.article').each((i, el) => {
        const link = $(el).find('a.overlay').attr('href');
        console.log(link);
    });
}).catch(err => console.log(err));

共1个答案

匿名用户

我认为cheerio工作得很好,我建议再次浏览HTML,并找到一个新的元素,类或其他东西来搜索。

当我进入给定的url时,我没有找到任何组合中的。fli-list.one-way。

试着找一些更特别的东西来过滤。

如果你仍然需要帮助,我可以尝试和废弃它自己和发送一些代码给你