Win7安装nodejs,之后在sublime运行,之后再安装 puppeteer采集网页

nodejs puppeteer定位元素 await page.$ 和await page.waitForSelector

PHPer 2024-06-23 42 0 0

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抓取JS渲染后的页面内容

    各种采集应用和采集插件的安装和采集代码整理

    PHP Querylist采集插件Puppeteer的安装

    PHP采集页面的四种方法

    python获取完整网页内容(含js动态加载的):selenium+phantomjs

    php-webdriver 配合chromedriver 采集 (Windows系统)(2023年12月)

    推荐项目:Node.js与PHP的完美融合——node-php

    【环境配置】centos安装chrome浏览器

    爬虫进阶路程2——centos安装各个版本chrome

    php开源采集类Snoopy.class.php功能使用介绍与下载地址

    PHP__采集类__Snoopy

    php使用QueryList轻松采集JavaScript动态渲染页面

    PHP使用Browsershot进行网页截图

    使用node.js爬取网页数据(简单粗暴)

    [PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索

    php获取链接跳转的真实地址

    curl超时的设置

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    人气美女女优百度指数排行榜(波多野结衣,苍井空,三上悠亚,深田咏美,桥本有菜,北条...

    最强人造人深田咏美,业界的社交女王

    人生起起落落的三上悠亚,成名前的清纯风,怎么搭配出来的?

    业内第一大长腿,桥本有菜的腿究竟有多长

    波多野结衣,岛国业界著作最多的超级劳模

    日本AV界NO.1,苍井空是多少宅男的疯狂?

    美女女优视频混剪 This Girl-Laza Morgan

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享