我正在刮使我的旅行飞行数据为一个项目,但由于某些原因,它没有工作。我试过很多选择器,但都不起作用。另一方面,我也试着用同样的逻辑去抓取另一个网站,结果成功了。有人能指出我哪里出错了吗?
我用的是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));
我认为cheerio工作得很好,我建议再次浏览HTML,并找到一个新的元素,类或其他东西来搜索。
当我进入给定的url时,我没有找到任何组合中的。fli-list.one-way。
试着找一些更特别的东西来过滤。
如果你仍然需要帮助,我可以尝试和废弃它自己和发送一些代码给你