微信公衆號_訂閱號_爬蟲puppeteer

puppeteerchrome

藉助 puppeteer 庫實現爬蟲,puppeteer 提供了高級 api 接口來操做 chrome 來npm

npm install puppeteer --save-dev    // 下載到開發依賴----很大api

業務邏輯:瀏覽器

1. 打開瀏覽器網頁less

2. 新建標籤頁async

3. 跳轉到指定網址post

4. 開始爬取數據ui

5. 關閉瀏覽器lua

 

index.jsspa

  • 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();
    })();
相關文章
相關標籤/搜索