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的更多相关文章

  1. PHP语言开发微信公众平台(订阅号)之注册

    1.百度搜索"微信公众平台" 2.选择微信公众平台官网并单击打开 3.进入官网页面,单击 "立即注册" 进入注册页面 4.进入注册页面,单击订阅号 5.进入订阅 ...

  2. PHP语言开发微信公众平台(订阅号)之注册(1)

    1.百度搜索"微信公众平台" 2.选择微信公众平台官网并单击打开 3.进入官网页面,单击 "立即注册" 进入注册页面 4.进入注册页面,单击订阅号 5.进入订阅 ...

  3. PHP语言开发微信公众平台(订阅号)之开启开发者模式

    (1)打开上一篇我们从花生壳官网获得的外网网址就会看到localhost根目录下的文件(这里不再赘述php环境的搭建).注:因为外网网址在能联网时,访问外网网址的任何人都能看到根目录下的所有文件,不仅 ...

  4. PHP语言开发微信公众平台(订阅号)之开启基本功能及获得可用的服务器地址(2)

    1.开启群发功能(单击功能菜单里的"群发功能",并在右侧页面中点击"同意以上声明") 2.(1)在开启开发者模式之前需要完善个人资料(完成头像上传即可) (2) ...

  5. PHP语言开发微信公众平台(订阅号)之curl命令

    在开发过程中,经常会遇到要求用curl命令调用接口的情况 那么,什么是curl,简单来说curl是一个利用url语法规定来传输文件和哦数据的工具,支持很多协议,如 http.ftp.telent 等, ...

  6. PHP语言开发微信公众平台(订阅号)之curl命令(补充)

    在之前的一篇随笔中,博主在调用curl命令上传文件时会经常出现上传方法过时的情况.如下图所示: 所以,我们只需要把上传方法换成创建CURLFile 类即可.如下所示 $ch = curl_init() ...

  7. 微信小程序、应用号、订阅号、服务号、企业号小总结

    微信小程序是现在微信推出的一个新的项目,但是很多人都不是很清楚微信小程序是怎么一回事,不明白到底怎样分别微信小程序和别的公众号.订阅号等的区别,那么让小编来给你介绍一下. 微信小程序目前是内侧阶段,是 ...

  8. 微信公众平台测试帐号的注册与使用(自己的服务器<---->微信后台<---->测式公众号)

    打开注册的网址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 用手机微信扫描网页左边的二维码,然后在手机上确认即可: 至此 ...

  9. 微信公众号_订阅号_微信JS-SDK网页开发

    微信JS-SDK( 分享接口很常用 ) 是微信公众平台 面向网页开发者提供的基于微信内的网页开发工具包 借助微信高效使用相机.语音.选题.位置等手机系统的能力,同时可以直接使用微信分享.扫一扫.支付等 ...

随机推荐

  1. 验证性控件的使用--验证两个文本框至少有一个不为空CustomValidator

    转:http://blog.163.com/zhaowencong_2010/blog/static/20402815220122103155643/ 有时候我们在注册一个帐号时要求我们留下电话号码, ...

  2. mysql/mariadb主从复制

    主从复制简介 MySQL数据库的主从复制方案,是其自带的功能,并且主从复制并不是复制磁盘上的数据库文件,而是通过binlog日志复制到需要同步的从服务器上. MySQL数据库支持单向.双向.链式级联, ...

  3. tex 进度条

    \documentclass{beamer} \usepackage{tikz} \usetikzlibrary{calc} \definecolor{pbblue}{HTML}{0A75A8}% f ...

  4. Latex "Error: Extra alignment tab has been changed to \cr. "

    Latex 编译时出现 Error: Extra alignment tab has been changed to \cr.  是因为\begin{tabular}后面的参数指定为7列,而实际排了8 ...

  5. Excel 当前行高亮

    格式-条件格式-条件(公式)- =ROW()=CELL("row") 再选颜色...即可.

  6. [物理学与PDEs]第1章第1节 引言

    1. 电动力学研究的对象是电磁场, 研究电磁场的基本属性---运动规律及它和带电物质的相互作用. 2. 场, 物质的一种存在方式. 3. Maxwell 方程组是电动力学中的基本方程, 是一切有关电磁 ...

  7. 第三章Android移植平台工具介绍

    第三章Android移植平台工具介绍 进行 Android 移植的学习并不一定需要一款 Android 手机,但必须要有一款主流的开发板,开发板是用来进行嵌入式系统开发的电路板,包括中央处理器.存储器 ...

  8. excel生成数据地图

    在数据分析过程中,图表是一个十分重要的部分,通过图表可以清晰明了的说明一些数字特征.在众多数据分析图表中,数据地图是常用的一中分析图.在一般的数据分析中,excel已经可以满足绝大部分功能.在本文中, ...

  9. IIS 一键安装及卸载

    IIS6:适用于win server 2003:: ******************* :: * 安装 :: ******************* :Install Cls @echo. &am ...

  10. 【原创】大数据基础之Ambari(5)通过Ambari部署Hue

    ambari2.7.3(hdp3.1) 安装 hue4.2 ambari的hdp中原生不支持hue安装,下面介绍如何通过添加service的方式使ambari支持hue安装: 官方:http://ge ...