linux下安装 Chrome 和 chromedriver 以及 selenium webdriver 使用

1 安装 Chrome

sh 复制代码
yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

2 下载 chromedriver

sh 复制代码
# 进入下载目录
cd soft/crawler_tools

# 查看chrome 版本号
google-chrome --version

# 在chromedriver下载地址中找到对应版本,下载对应版本chromedriver
wget url
# 如:
wget https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/118.0.5993.70/linux64/chromedriver-linux64.zip

# 解压
unzip chromedriver-linux64.zip

# 赋权
cd chromedriver-linux64
chmod +x chromedriver

chromedriver 下载地址:

https://googlechromelabs.github.io/chrome-for-testing/ (推荐,包含最新稳定版)

https://chromedriver.storage.googleapis.com/index.html?

http://npm.taobao.org/mirrors/chromedriver/

https://registry.npmmirror.com/-/binary/chromedriver/

查看版本:

chromedriver对应下载地址

3 使用 selenium webdriver

现在就可以使用 selenium 的 webdriver 爬取内容了

python 复制代码
from selenium import webdriver

class SeleniumWebdriver:
    def __init__(self):
        self.chrome_options = webdriver.ChromeOptions()
        self.chrome_options.add_argument('--headless')
        self.chrome_options.add_argument(
            'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36')
        # chromedriver 地址
        self._CHROME_DRIVER_LINUX = '/soft/crawler_tools/chromedriver'
    # 浏览器模拟的方式获取含有专辑 mid 信息的页面
    def get_pagesource_by_chrome(self, url):
        browser = webdriver.Chrome(executable_path=self._CHROME_DRIVER_LINUX, options=self.chrome_options)
        browser.get(url)
        time.sleep(2)
        res = browser.page_source
        browser.close()
        return res
if __name__ == "__main__":
    sw= SeleniumWebdriver()
    url = "www.baidu.com"
    content = sw.get_pagesource_by_chrome(url)
    print(content)

参考:
傻瓜式linux下安装Chrome和chromedriver
chromedriver高于114版本的版本如115、116、117、118等,如何下载对应版本

相关推荐
七歌杜金房8 小时前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia1 天前
linux curl命令详解_curl详解
linux
扛枪的书生1 天前
Linux 网络管理器用法速查
linux
顺风尿一寸2 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode2 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫2 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao4 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐5 天前
Linux内存扩容指南
linux
zylyehuo5 天前
Linux 彻底且安全地删除文件
linux
牛奶6 天前
如何自己写一个浏览器插件?
前端·chrome·浏览器