puppeteer

模拟登陆,爬取数据

爬取中关村所有的手机

1 .爬取所有手机的主页数据
2 .进入主页数据爬取同一系列的所有数据
3 .保存到数据库里面
4 .取出一个品牌的url参数进行爬取--使用分布式架构快速爬取数据

分布式爬虫的书写

1 .node 实现多进程
2 .pm2实现

puppeteerapi

puppeteer.launch的option参数

1 .分布式进行抓取的时候就需要直到配这个参数了。
2 .brower有一堆事件(断开,网址发生改变,新建页面,),还有一堆的属性(所有的打开的页面的数组,浏览器的版本,websocket的url)

page

1 .给window注册全局函数,把一些node包的方法引入这个,使用起来超级爽
2 .模拟一大堆设备
3 .支持的手机设备:https://github.com/GoogleChrome/puppeteer/blob/master/DeviceDescriptors.js
4 .

puppeteer检测

1 .if(navigator.plugins.length==0){可能是机器人},怎么给无头浏览器加个插件
2 .if(navigator.languages==''){可能是个机器人},
3 .检查浏览hairline特性的检查
4 .基于错误img src属性生成的img对象检查
5 .基于useragent进行修改
6 .注入一写js方法,覆盖原生的api,如果防御者只是检查原生的方法,那么就被绕过去了
7 .验证码技术:图片,字母,12306的网站验证码。
8 .行为验证:用户鼠标,触屏等行为 的验证技术。(这个可以玩一把)
9 .你所做的只是提高攻击者的抓取成本,并对未授权的技术做出精确的获悉。
10 .比较两种请求的请求头的差别。自己在服务端比较。可以实现
11 .对于alert的处理速度。

6/1

1 .继续了解了一波page的api
2 .如何注册全局函数,这样就可以把node包的函数直接在pupper里面使用
3 .手机端的向下滑动,加载全部页面。
4 .明天要看完全部的page api,继续分布式做完爬取所有的iphone数据

你可能感兴趣的:(puppeteer)