南方都市报
forEach(el => { const t🎊itle🔍El = el
c-abstract'); if (titleEl) {🤔 items
与普通HTT✨P请求工具相比,无头浏览器能获取到更完整的页面数据,但也需注意资源消耗相对较高
基础配置要点: 视口设置 :模拟真实用户屏幕分辨率🎨(如1920×1080),避免触发反爬机制
innerText 🚀: '' }); } }); return items; }); 3
result💫') 等待核心搜索结果容器出现,确保DOM稳定
scrollTo 模拟滚动,并监听新内容出现💪的DOM变化
若不想自动下载浏览器,可使用 n🌟pm install puppeteer-core 配合本地已有Chrome路径,通过 executablePath 参数指定
请求拦截 :可选择性拦截图片、字体等非必要资源以加快加载速度
由于百度搜索结果可能包含“未加载完成🌅”的状态,需使用 page
处理翻页与动态加载 百度搜索结果通常采用分页模式▶️▶️,可定位“下一页”按钮并执行点击: const nextBtn = await page
waitForNavigation({waitUntil: 'networkidle0'}); } 若遇到“📢滚动加载更多”的卡片式结果(如百度资讯),需使用 page
通过npm安装Puppeteer: npm install puppeteer (该命令会自动下载Chromium浏览器,占用约300MB磁盘空间)
querySelector('h3 a'); cons⚡t abstractEl = el