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(); })();