Puppeteer的使用(Java版本)

Puppeteer的使用(Java版本)

2023年6月29日发(作者:)

Puppeteer的使⽤(Java版本)前⾔:puppeteer和selenium的功能很相似,都是加载浏览器驱动去模拟浏览器⾏为但功能⽐selenium要强⼤的多。其他描述:Puppeteer 是⼀个控制 headless Chrome 的 API 。它是⼀个 库,通过 DevTools 协议提供了⼀个⾼级的API 来控制 headless Chrome。这⾥可能有童靴有疑问了,这是 的API,我不会怎么办?放⼼,已有⼤佬将其做了Java的封装。由于⾃⼰平时开发框架使⽤的是webmagic,所以就简单封装了个jvppeteer的downloader,可能封装的细节不是很完善,见笑了。代码调⽤: //配置监听器,⽤于监听采集成功和失败的情况 List spiderListenerList = new ArrayList<>(1); (supervisionSpiderListener); //下载器,配置代理 ChromiumOptions options = new ChromiumOptions(); Headless(true); PuppeteerDownloader puppeteerDownloader = new PuppeteerDownloader(spiderListenerList,options); xyProvider(new KuaiDaiLiProxyProvider()); omiumAction(xxAction); :@Componentpublic class XXAction extends AbstractChromiumAction { private final static Logger logger = ger(); @Override protected Page doAction(Browser browser, Request request, Page page, Site site){ //浏览器操作 (1500L); return page; }}puppeteer调⽤浏览器有2种⽅式:⼀种是调⽤本地浏览器,⼀种是调⽤docker的⼀个headless镜像,区别在于docker的是已经提前开好了tab页⾯,只⽀持多开page,不⽀持多开browser。本地浏览器也存在⼀个问题:当页⾯奔溃时,会产⽣残留的chromium进程,还有⼀些奔溃⽇志,需要进⾏清理。由于我使⽤的服务器是window,这⾥给出window杀进程的命令:taskkill -f -im 清除⽇志⽂件:⼀般是在 AppDataLocalTemp ⽬录下,名称为puppetter_xxxxx_chrome_profile的⽂件夹。

有其他疑问可联系本⼈。 Puppeteer相关资料:前端神器puppeteer⼊门及实践:爬⾍利器 Puppeteer 的⼀些最佳实践:如何避免Puppeteer被前端JS检测/识别:结合项⽬来谈谈 Puppeteer:

发布者:admin,转转请注明出处:http://www.yc00.com/web/1687987152a64128.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信