使用 axios/cheerio 制作网页抓取器;无法弄清楚函数的其余部分



任何有axios/cheerio经验的人都能回答这个问题吗?

我正在尝试制作一个刮刀,但很难使其获得选定的div

html部分是这样的:

<div class="_702d723c dib w-50 bb b--black-10 pr2">
<h3 class="c84e15be f5 mt2 pt2 mb0 black-50">Version</h3>
<p class="f2874b88 fw6 mb3 mt2 truncate black-80 f4">7.3.2</p>
</div>

刮刀代码:

const cheerio = require("cheerio");
const axios = require("axios");
let NPMJS = `https://www.npmjs.com/package/semver`;
axios.get(NPMJS).then((response) => {
let $ = cheerio.load(response.data);
$('._702d723c').filter(function () {
var data = $(this);
let version = data.children().first().next().text()
console.log(version)
})
}).catch(function (e) {
console.log(e);
});

输出:

7.3.2
ISC
83.8 kB
51
github.com/npm/node-semver#readme
Gitgithub.com/npm/node-semver
6 months ago

如何从该输出中获取7.2.3

这个类看起来可能会更改。我会做:

$('h3:contains("Version") + p').text()
$('._702d723c').each(function (i, e) {
console.log($(e).find("p").html());
})

最新更新