Golang爬虫-HeadlessChrome

陈功
2023-12-01

Headless Chrome安装与使用

Headless Chrome 是 Chrome 浏览器的无界面形态,可以在不打开浏览器的前提下,使用所有 Chrome 支持的特性运行你的程序。相比于现代浏览器,Headless Chrome 更加方便测试 web 应用,获得网站的截图,做爬虫抓取信息等。

安装

对于RobotBug而言Headless Chrome以一个公共资源,可以被其他服务所使用。

docker install chromedp/headless-shell
docker run -d -p 9222:9222 --rm --name headless-shell chromedp/headless-shell
docker exec -it headless-shell bash

语言支持 zh_CN.UTF-8 UTF-8(可选,不影响使用)

chromedp/headless-shell 是基于Debian构建,缺少中文支持,会致使页面乱码

apt-get update
apt-get install locales
dpkg-reconfigure locales

测试

访问:127.0.0.1:9222/json

[ {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=127.0.0.1:9222/devtools/page/73FB7B559C27B630B4A28DF008C2D68E",
   "id": "73FB7B559C27B630B4A28DF008C2D68E",
   "title": "",
   "type": "page",
   "url": "file:///bin/bash",
   "webSocketDebuggerUrl": "ws://127.0.0.1:9222/devtools/page/73FB7B559C27B630B4A28DF008C2D68E"
} ][ {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=127.0.0.1:9222/devtools/page/73FB7B559C27B630B4A28DF008C2D68E",
   "id": "73FB7B559C27B630B4A28DF008C2D68E",
   "title": "",
   "type": "page",
   "url": "file:///bin/bash",
   "webSocketDebuggerUrl": "ws://127.0.0.1:9222/devtools/page/73FB7B559C27B630B4A28DF008C2D68E"
} ]

远程访问

headless_shell_test.go

go test -v headless_shell_test.go

项目地址:https://github.com/Ning-Qing/RobotBug
这次绝对不鸽!

 类似资料: