1. 文章参考:
springboot+jpa 实现亚马逊商品数据爬取_爬取亚马逊数据_吕二口的博客-CSDN博客
cdp4j使用记录_cdp4j 放大_趴着喝可乐的博客-CSDN博客
> java 爬虫项目 使用到了 cdp4j, 在本地 win 系统运行是ok的, 但是想 部署到 服务器上, 因为 cdp4j 比较依赖 谷歌浏览器使用选择了 Ubuntu 系统
2. 阿里云 Ubuntu 20.04安装图形界面
> 由于 开始选择的镜像是没有 图形界面的 使用需要安装
参考链接:
通过VNC搭建Ubuntu 18.04和20.04图形界面 (aliyun.com)
注: vncserver -geometry 1920x1080 :1 命令启动 使用 VNCViewer 链接时 端口 为 1 即可
花屏 参考链接:
Ubuntu VNC 安装/使用/故障解决 看这一篇就够了_城俊BLOG的博客-CSDN博客
注: 本人在使用时候 root 启动 VNCViewer 链接没有问题, 使用 普通用户 启动时候 遇到花屏了 ( 应该是配置的问题), 使用 root 启动 也可正常使用
3. 启动谷歌浏览器
疑问点:
我使用 VM 本地部署了一个 Ununtu 的镜像
左侧 使用 管理栏 并且 安装完 谷歌浏览器是有 谷歌浏览器的快捷方式的
但是 我使用 阿里云安装了图形界面之后 是没有这个 管理栏以及快捷方式的
不知道 是否和 VNCViewer 连接的方式导致的 还是 阿里云 对于镜像做过处理 暂时还不清楚
ctrl+alt+t 打开终端
root 启动:
> google-chorme --no-sanbox
按照 提示 即可正常 启动
普通用户 启动:
意思 是 没有 x服务 或者是 $DISPLANY
参考链接:
Can’t start X11 applications after “su” or “su -” to another user – The Geek Diary
具体是什么原因 还是比较 模糊的 但是按照此操作 是ok的, 等后续整清楚了 再评论里面补充
4. 启动项目
在本地 VM 启动项目是可以正常运行的 但是 在阿里云 部署无法正常 启动谷歌浏览器 进行爬取 所以我 将 cdp4j 源码复制出来 添加日志 ( 因为环境不同 无法确定错位代码位置 )
最后确定 无法启动的代码 错误 为
> Unable to connect to the chrome remote debugging server [localhost:9222]
文章链接:
设置 Chrome 远程调试端口_请确保在打开远程调试端口的情况下成功启动浏览器。 如果已启动具有相同用户数据_CrissChan的博客-CSDN博客
即可 正常运行
总结:
1. 专业的知识不够充足, 本人是 cdp4j 一条路走到黑了
2. 像 设置 DISPLANY 这种问题 应该是可以提前解决的, 确实是被这问题困扰好久 ( 写这篇文章的 由来 )
3. 后续解决 频繁爬取被 封 IP, 采取 构建高匿 ip 池 进行i p 代理 ( 暂时 不知道 cdp4j 是否可以使用代理ip 正在尝试), 本人有想法 使用 python 重新构建 爬虫项目, 但是 python正在学习中
希望可以和大佬们多多交流沟通, 互相学习 !!!