记一下使用puppeteer抓取开源中国上的推荐软件数据
1.安装 npm install puppeteer
2.引入
const puppeteer = require('puppeteer');3.抓取代码
const sleep = time => new Promise(resolve => {
setTimeout(resolve, time);
})
const url = `https://h5.oschina.net`;
;(async () => {
console.log('Start visit');
const brower = await puppeteer.launch({
args: ['--no-sandbox', '--disable-setuid-sandbox'],
dumpio: false
});
const page = await brower.newPage() // 开启一个新页面
await page.goto(url, {
waitUntil: 'networkidle2' // 网络空闲说明已加载完毕
});
//加载jQuery
await page
.main ()
.add Tag({
url: 'https://cdn.bootcss.com/jquery/3.2.0/jquery.min.js'
})
await sleep(1000);
// 编辑推荐内容
await page.waitForSelector('.osc-list');
// 结果
const result = await page.evaluate(() => {
//获取的数据数组
let dataTemp = [];
let articles = $('.project-item');
for (let i = 0; i < articles.length; i++) {
let article = articles[i];
let descDoms = $(article).find('.osc-cell__ ');
let name = descDoms.find('.project-item__name').text();
let = descDoms.find('.project-item__desc').text();
let desc = descDoms.find('.content').text();
let ident = .toLowerCase();
dataTemp.push({
name: name,
: ,
desc: desc,
ident: ident
});
}
return dataTemp;
});
// 关闭浏览器
brower.close();
console.log(result);
})();3.运行 node app.js
继续阅读与本文标签相同的文章
上一篇 :
puppeteer实现百度贴吧自动签到
下一篇 :
CHM帮助文件在VB程序中的应用
-
Spring 框架文档之核心技术—— IOC 容器
2026-05-23栏目: 教程
-
GitOps 与 ChatOps 的落地实践
2026-05-23栏目: 教程
-
Archsummit 2019重磅分享|闲鱼Flutter&FaaS云端一体化架构
2026-05-23栏目: 教程
-
gulp .src()匹配模式详解
2026-05-23栏目: 教程
-
Spring AOP实现事务管理
2026-05-23栏目: 教程
