chrome webdriver_golang 爬虫 Linux + chromedriver + chrome

本文介绍了如何在Linux环境下安装Chrome和ChromeDriver,并使用Golang结合Selenium库启动Chrome浏览器的无头模式,进行网页自动化操作。通过设置Chrome启动参数模拟User-Agent以防止反爬,并展示了如何加载页面和获取cookies。
摘要由CSDN通过智能技术生成

Linux下chrome 安装

下载地址:https://www.google.com/chrome/?platform=linux

2959f01e0488f4e1bc129abb65db956b.png

安装:

yum install google-chrome-stable_current_x86_64.rpm

b510d973324348485859fd44532eb2c0.png

查看版本:

google-chrome --version

4863aa67e770cb765f4bd96f086626cd.png

chromedriver安装

wget https://chromedriver.storage.googleapis.com/84.0.4147.30/chromedriver_linux64.zip

c62055c22e02c1cbd58bf0d9625ea4c6.png

注意:chrome 和 chromedriver 版本对应。不然会出现版本不兼容的情况哦!

加载selenium包

go get github.com/tebeka/selenium

golang代码:

package main
 
import (
 "fmt"
 "log"
 
 "github.com/tebeka/selenium"
 "github.com/tebeka/selenium/chrome"
)
 
// StartChrome 启动谷歌浏览器headless模式
func StartChrome() {
 opts := []selenium.ServiceOption{}
 caps := selenium.Capabilities{
  "browserName": "chrome",
 }
 
 // 禁止加载图片,加快渲染速度
 imagCaps := map[string]interface{}{
  "profile.managed_default_content_settings.images": 2,
 }
 
 chromeCaps := chrome.Capabilities{
  Prefs: imagCaps,
  Path:  "",
  Args: []string{
   "--headless", // 设置Chrome无头模式
   "--no-sandbox",
   "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/604.4.7 (KHTML, like Gecko) Version/11.0.2 Safari/604.4.7", // 模拟user-agent,防反爬
  },
 }
 caps.AddChrome(chromeCaps)
 // 启动chromedriver,端口号可自定义
 service, err := selenium.NewChromeDriverService("./chromedriver", 9516, opts...)
 if err != nil {
  log.Printf("Error starting the ChromeDriver server: %v", err)
 }
 // 调起chrome浏览器
 webDriver, err := selenium.NewRemote(caps, fmt.Sprintf("http://localhost:%d/wd/hub", 9516))
 if err != nil {
  panic(err)
 }
 
 //目标网站
 targeUrl = "https://www.toutiao.com/i6846744256028082696"
 // 导航到目标网站
 err = webDriver.Get(targeUrl)
 if err != nil {
  panic(fmt.Sprintf("Failed to load page: %sn", err))
 }
 log.Println(webDriver.GetCookies())
 
 defer service.Stop()   // 停止chromedriver
 defer webDriver.Quit() // 关闭浏览器
}
 
func main() {
 StartChrome()
}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值