栏目:经验分享 作者:小天 点击: 9,885 次
Puphpeteer 和 Puppeteer的名字极为相似,但Puppeteer是Google Chrome官方团队进行维护的,Puppeteer是一个node库,他提供了一组用来操纵Chrome的API(默认headless也就是无UI的chrome,也可以配置为有UI),有点类似于PhantomJS,而Puphpeteer是第三方开发商开发,是PHP的Puppeteer桥梁,支持全部Puppeteer API。基于Rialto,是一个通过PHP来管理来Node资源的软件包。
正因为Puppeteer是一个node库,它需要安装nodeJS环境来支持。
Puphpeteer源码:https://github.com/extractr-io/puphpeteer
Puphpeteer包的地址:https://packagist.org/packages/extractr-io/puphpeteer
Puppeteer源码:https://github.com/GoogleChrome/puppeteer
英文API文档:https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md
在线测试:https://try-puppeteer.appspot.com/
关于Puppeteer的中文实例:https://github.com/zhentaoo/puppeteer-deep
中文API文档:https://zhaoqize.github.io/puppeteer-api-zh_CN/
以下是一个登陆的例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
const USERNAME = 'xxxxxxxxxxxx'; const PASSWORD = '********'; const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto('https://github.com/login') await page.focus('input[name="login"]'); await page.keyboard.type(USERNAME); await page.focus('input[name="password"]'); await page.keyboard.type(PASSWORD); await page.click('input[type="submit"]'); await page.waitForNavigation(); await page.screenshot({path: 'example.png'}); await browser.close(); |
声明: 本文由( 小天 )原创编译,转载请保留链接: PHP 高级爬虫 Puphpeteer + Puppeteer + Chrome Headless
------====== 本站公告 ======------
欢迎使用趣域网域名百科,我们将长期提供域名使用相关知识和投资域名的方法和技巧;并提供主机、服务器的解决问题和网站运营方法。