zoukankan      html  css  js  c++  java
  • 微信公众号_订阅号_爬虫puppeteer

    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();
      })();
  • 相关阅读:
    MySQL安装图解
    程序员感触
    一个人的生活
    开始懂了
    limit 检索记录行
    Ajax的完整兼容各种浏览器版本代码
    java.lang.UnsupportedClassVersionError: Unsupported major.minor version 49.0的错误 [转]
    通信协议
    SDK
    毕业三个多月的感悟
  • 原文地址:https://www.cnblogs.com/baixiaoxiao/p/10573459.html
Copyright © 2011-2022 走看看