|-原 nodejs puppeteer定位元素 await page.$ 和await page.waitForSelector
var pager_next = await page.$('.vui_button vui_pagenation--btn vui_pagenation--btn-side');//这种写法不支持 20240623
var no_content = await page.$('.vui_button--disabled');//这种写法支持 20240623
var pager_next = await page.waitForSelector('text/下一页');
版本 puppeteer@22.11.2
示例代码
url2 = decodeURIComponent(url); console.log(url2);//https://search.bilibili.com/all?keyword=php教程&from_source=webtop_search&spm_id_from=333.999&search_source=5 url2.match(/keyword=([^&]+)/g); keyword = RegExp.$1; url2.match(/page=([0-9]+)/g); page_num = RegExp.$1; if(page_num==1){ url =url.replaceAll('&page=1',''); } console.log('keyword:'+keyword+',page_num:'+page_num) await opn("http://cn.bing.com",{app: ['chrome','--remote-debugging-port=1234']}); await wait(5000);//等待5秒,等待浏览器打开 20240622 let wsKey = await axios.get('http://localhost:1234/json/version'); let browser = await puppeteer.connect({ browserWSEndpoint: wsKey.data.webSocketDebuggerUrl, defaultViewport:null }); let page = await browser.newPage() await page.goto(url,{ waitUntil:'networkidle2' //等待页面不动了,说明加载完毕了 }); let bodyHandle = await page.$('html'); let html = await page.evaluate(body => body.outerHTML , bodyHandle); fs.writeFileSync(nodejsc_dirname+'html2/'+keyword+'_'+page_num+'.html',html); await wait(2000);//等待2秒 var pager_next = await page.waitForSelector('text/下一页'); // console.log(pager_next) // return var pager_next = await page.$('.vui_button vui_pagenation--btn vui_pagenation--btn-side');//这种写法不支持 20240623 var no_content = await page.$('.vui_button--disabled');//这种写法支持 20240623
20240623...
浏览更多内容请先登录。
立即注册
更新于:2024-06-23 14:23:04
相关内容
这里专门开个帖子用来整理采集遇到的问题
Linux中使用curl命令访问https站点4种常见错误和解决方法
使用 curl 进行 ssl 认证 -文章是百度搜curl.cainfo找到的
网上之前找的封装php curl的类,小巧且实用,用了挺久
采集的时候把目标网页的内容输出到页面调试的问题
PHP实现抓取百度搜索结果并分析数据结构
CentOS 8 安装Puppeteer 记录
windows wamp SSL certificate problem: unable to get local issuer cert...
安装Puppeteer插件,PHP采集实现抓取百度搜索结果并分析数据结构
采集时遇到报错,去github.com查资料,遇到Github网站打不开的问题,网上找的...
PHP采集时报错Failed to launch the browser process puppeteer
Win7安装nodejs,之后在sublime运行,之后再安装 puppeteer采集网页
puppeteer爬取豆瓣电影信息
解决centos运行node项目puppeteer时chrome错误问题
How to Setup Puppeteer In CentOS 7 用spatie/browsershot成功采集百度...
cnpm 安装的扩展的路径 不好找,觉得还是用npm安装,用国内的镜像源
nodejs 报错 Error: EPERM: operation not permitted, mkdir‘xxxxxxxxx...
新的chrome headless模式 headless=new
nodejs 报错 Error: Could not find Chrome (ver. 119.0.6045.105). This ...
Error: Could not find Chrome 运行js脚本直接执行ok,用php的exec执行脚...
各种采集应用和采集插件的安装整理
PHP Querylist采集插件Puppeteer的安装
PHP采集页面的四种方法
python获取完整网页内容(含js动态加载的):selenium+phantomjs
php-webdriver 配合chromedriver 采集 (Windows系统)(2023年12月)
[PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索
php获取链接跳转的真实地址
curl超时的设置
推荐内容