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. [译]Ocelot - Tracing

    原文 Ocelot是使用的Butterfly这个项目来实现这个的. 在ocelot要使用tracing, 首先得安装相应的包: Install-Package Ocelot.Tracing.Butte ...

  2. 数据库的URL格式

    Oracle数据库: 驱动jar包: ojdbc6.jar 驱动程序类名字:oracle.jdbc.OracleDriver JDBC URL:jdbc:oracle:thin:@//<host ...

  3. 009_Palindrome Number

    #######solution1####### # def isPalindrome(x): # if x<0: # return False # else: # l=str(x) # newl ...

  4. cnblogs鼠标点击特效

    喜大普奔! 伸手党福利 ! 创建mouse.js文件, 上传到博客, 直接引用即可, 内容如下: (function(window, document, undefined) { var hearts ...

  5. Angular7

    1.绑定html 在ts里面自定义一个html变量 html = '<a> 这是html变量 </a> '; 在html打印出来 直接打印:{{html}} <br /& ...

  6. spawn-fcgi启动的一些报错问题

    spawn-fcgi启动报错 //编译生成bin文件,这里用到了fcgi和google的glog # g++ test.cpp -lfcgi -lglog -o test //运行 # spawn-f ...

  7. C++设计模式——访问者模式

    访问者模式 在GOF的<设计模式:可复用面向对象软件的基础>一书中对访问者模式是这样说的:表示一个作用于某对象结构中的各元素的操作.它使你可以在不改变各元素的类的前提下定义作用于这些元素的 ...

  8. Mysql -- 数据类型(2)

    掌握char类型和varchar类型 掌握枚举类型和集合类型 字符类型 #官网:https://dev.mysql.com/doc/refman/5.7/en/char.html #注意:char和v ...

  9. 【原创】Linux基础之redhat6升级glibc-2.12到2.14

    redhat6自带glibc-2.12,升级到glibc-2.14过程 # strings /lib64/libc.so.6 |grep GLIBC_GLIBC_2.2.5GLIBC_2.2.6GLI ...

  10. STM32串口空闲中断

    串口初始化 #include "usart5.h" vu16 UART5_RX_STA=0; char UART5_RX_BUF[UART5_REC_LEN]; u8 UART5_ ...