首页 > 微信 > 详细

微信公众号_订阅号_爬虫puppeteer

时间:2019-03-21 18:35:19      阅读:176      评论:0      收藏:0      [点我收藏+]

puppeteer

借助 puppeteer 库实现爬虫,puppeteer 提供了高级 api 接口来操作 chrome 来

npm install puppeteer --save-dev    // 下载到开发依赖----很大

业务逻辑:

1. 打开浏览器网页

2. 新建标签页

3. 跳转到指定网址

4. 开始爬取数据

5. 关闭浏览器

 

index.js

  •  
    const puppeteer = require(‘puppeteer‘);
    
    (async () => {
        // 1. 打开浏览器
        const browser = await puppeteer.launch({
            headless: true;    // 无头浏览器,不显示浏览器界面
        });
        
        // 2. 新建标签页
        const page = await browser.newPage();
        
        // 3. 跳转到指定网页
        await page.goto(‘https://豆瓣.com‘, {
            waitUntil:[‘load‘]
        });
        
        // page.type()    // 模拟用户登录
        
        // 4. 爬取数据
        //await page.screenshot({path: ‘example.png‘});
        
        await page.evaluate(()=>{
            // 对页面进行 DOM 操作
            const $lis = $(‘#nowplaying .list>li‘);
            let result = [];
            
            for(var i=0; i<$lis.length; i++){
                //获取了单个li元素
                const $li = $($lis[i]);
    
                //海报图
                const image = $li.find(‘.poster img‘).attr(‘src‘);
    
                //电影标题
                const title = $li.find(‘.stitle a‘).text().trim();
    
                //电影评分
                const rating = $li.find(‘.subject-rate‘).text();
                
                result.push({image, title, rating});
            };
            
            return result;
        });
        
        // 5. 关闭浏览器
        await browser.close();
    })();

微信公众号_订阅号_爬虫puppeteer

原文:https://www.cnblogs.com/baixiaoxiao/p/10573459.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!