返回顶部
首页 > 资讯 > 操作系统 >Linux 服务器配置selenium 爬虫
  • 533
分享到

Linux 服务器配置selenium 爬虫

服务器linuxselenium 2023-12-23 20:12:26 533人浏览 安东尼
摘要

linux 服务器配置使用代理 IP 的selenium 爬虫 ​ 在 Linux 服务器运行爬虫有时可以取得奇效,但在 Linux 服务器环境(即无图形化界面)下配置爬虫环境、代理 IP 与常见的 windows 环境有着较大区别。本文为

linux 服务器配置使用代理 IP 的selenium 爬虫

​ 在 Linux 服务器运行爬虫有时可以取得奇效,但在 Linux 服务器环境(即无图形化界面)下配置爬虫环境、代理 IP 与常见的 windows 环境有着较大区别。本文为对在 Linux 服务器上配置 selenium 及 Google Chrome 环境并基于代理 IP 运行爬虫的经历记录,针对一些笔者遇到的坑提供了解决方案,供读者参考。

一、基础环境

操作系统ubuntu 20.0

python:3.7

​ 代理 IP:Clash(关于在 Linux 环境配置 Clash 的操作可见文章Linux服务器基于代理IP的爬虫_西南小游侠的博客-CSDN博客

二、安装并使用 Google Chrome

​ 首先需要在 Root 账户下,直接从 Chrome 官网下载并安装 Chrome:

sudo apt-get install libxss1 libappindicator1 libindicator7wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.debsudo dpkg -i google-chrome*.deb sudo apt-get install -f

​ 安装完成后,需要修改配置文件使其能够在 Root 权限下运行。打开 /opt/google/chrome/google-chrome 文件,找到命令:

exec -a "$0" "$HERE/chrome" "$@"

​ 在其末尾添加命令成为:

exec -a "$0" "$HERE/chrome" "$@" --user-data-dir --no-sandbox

​ 接着基于以下命令测试是否可以使用 Chrome:

google-chrome --headless --remote-debugging-port=9222 Https://chromium.org --disable-gpu

​ 输出网页内容即可。

​ 接下来需要通过修改部分文件权限保证在非 Root 账户可以使用 Chrome。

​ 登录到一个非 Root 账户,测试上述命令,发现其报错:

在这里插入图片描述

​ 该错误是因为启动 Chrome 需要修改 /tmp/Crashpad 文件夹,但该账户没有权限修改该文件夹。解决方法为将 /tmp/Crashpad 文件夹的权限修改,在 Root 账户输入:

chmod -R 777 /tmp/Crashpad 

​ 在运行 Chrome,发现报错:

在这里插入图片描述

​ 同理,修改文件夹权限,此处直接将 /opt 文件夹权限开放:

chmod -R 777 /opt

​ 再运行 Chrome,发现可以成功运行了。

三、安装并使用 selenium

​ 首先,需要安装和你所安装的 Chrome 版本一致的 WEBdriver,首先查看 Chrome 版本:

google-chrome --version

​ 接着,根据 Chrome 版本号,从网站 CNPM Binaries Mirror (npmmirror.com) 下载对应版本的 webdriver 并解压到一个自定义目录即可。

​ 接下来需要安装 Python 第三方库 selenium,直接通过 conda 安装即可:

conda install selenium

​ 然后就可以在代码中运行基于 selenium 的爬虫了,提供一个代码示例:

from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionswd = webdriver.Chrome(executable_path='path_for_webdriver')wd.get("https://www.baidu.com")content = wd.page_sourceurl = wd.current_urlprint(url)print(content)wd.quit()

​ 但是,直接运行该代码会报错:

在这里插入图片描述

​ 该错误是比较常见的,通过在网上查询可知,是需要添加启动参数,但不同的系统可能需要不同的参数才能启动,有的仅需要1~3个,笔者的系统需要以下5个参数都添加才可以启动:

chrome_options = Options()chrome_options.add_argument('--headless')chrome_options.add_argument('--disable-gpu')chrome_options.add_argument('--no-sandbox')chrome_options.add_argument('--disable-dev-shm-usage')chrome_options.add_argument("--remote-debugging-port=9222")

​ 添加这些参数后,即可成功运行,完整代码示例如下:

from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionschrome_options = Options()chrome_options.add_argument('--headless')# 使用无头模式,无 GUI的Linux服务器必须添加chrome_options.add_argument('--disable-gpu')# 不使用GPU,有的机器不支持GPUchrome_options.add_argument('--no-sandbox')# 运行 Chrome 的必需参数chrome_options.add_argument('--disable-dev-shm-usage')chrome_options.add_argument("--remote-debugging-port=9222")# 以上两个参数具体作用不明,但笔者机器需要这两个参数才能运行chrome_options.add_argument("user-agent='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/62.0.3202.94 Safari/537.36'")# 该参数用于避免被认出,非必需参数wd = webdriver.Chrome(chrome_options=chrome_options,executable_path='path_for_webdriver')wd.get("https://www.baidu.com")content = wd.page_sourceurl = wd.current_urlprint(url)print(content)wd.quit()

四、使用代理 IP 的 selenium 爬虫

​ 在上一篇文章中,我们已经配置好了基于 Clash 的代理 IP,接下来直接向爬虫代码中添加部分即可:

from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionschrome_options = Options()chrome_options.add_argument('--headless')chrome_options.add_argument('--disable-gpu')chrome_options.add_argument('--no-sandbox')chrome_options.add_argument('--disable-dev-shm-usage')chrome_options.add_argument("--remote-debugging-port=9222")chrome_options.add_argument('--proxy-server=http://127.0.0.1:7890') # 添加部分,使用代理IPchrome_options.add_argument("user-agent='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'")wd = webdriver.Chrome(chrome_options=chrome_options,executable_path='path_for_webdriver')try:    wd.get("https://www.google.com")    content = wd.page_source    url = wd.current_url    print(url)    print(content)finally:    wd.quit()

​ 接下来运行即可成功访问 Google。

来源地址:https://blog.csdn.net/UIBE_day_day_up/article/details/128989600

--结束END--

本文标题: Linux 服务器配置selenium 爬虫

本文链接: https://lsjlt.com/news/551745.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux 服务器配置selenium 爬虫
    Linux 服务器配置使用代理 IP 的selenium 爬虫 ​ 在 Linux 服务器运行爬虫有时可以取得奇效,但在 Linux 服务器环境(即无图形化界面)下配置爬虫环境、代理 IP 与常见的 Windows 环境有着较大区别。本文为...
    99+
    2023-12-23
    服务器 linux selenium
  • Python 爬虫利器 Selenium
    前面几节,我们学习了用 requests 构造页面请求来爬取静态网页中的信息以及通过 requests 构造 Ajax 请求直接获取返回的 JSON 信息。 还记得前几节,我们在构造请求时会给请求加上浏览器 headers,目的就是为了让...
    99+
    2023-01-30
    爬虫 利器 Python
  • Python3爬虫利器:Selenium怎么安装
    小编给大家分享一下Python3爬虫利器:Selenium怎么安装,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众多大型网站均为Py...
    99+
    2023-06-14
  • 在linux系统下部署selenium爬虫程序介绍
    目录前言一、selenium是什么?二、使用步骤1.引入库2.测试代码三、部署程序1.安装chrome2.安装chromedriver驱动3.运行测试代码总结前言 我这里是工作需要把selenium 爬虫程序部署到lin...
    99+
    2022-06-04
    linux selenium爬虫程序 selenium安装
  • python爬虫环境如何配置
    要配置Python爬虫环境,需要按照以下步骤进行操作: 安装Python:首先,确保你的计算机上安装了Python。从Pytho...
    99+
    2023-10-24
    python
  • python中如何利用selenium进行浏览器爬虫
    这篇文章给大家介绍python中如何利用selenium进行浏览器爬虫,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。相信大家刚开始在做爬虫的时候,是不是requests和sound这两个库来使用,这样确实有助于我们学习...
    99+
    2023-06-02
  • 云服务器部署爬虫
    云服务器部署爬虫可以通过以下方式实现: 使用 Web Services 库 首先,需要使用 Web Services 库来处理爬虫请求,这个库是 PostgreSQL 和 SQLite3 的通用 API。 例如,您可以使用以下 Web...
    99+
    2023-10-26
    爬虫 服务器
  • 亚马逊+爬虫服务器
    因此,在其网站上爬取数据是一项非常重要的任务,而爬虫服务器就是提供这种服务的基础设施。 目前,大多数大型的 AWS 和 Azure 云服务都提供了爬虫服务器的功能,以满足用户的需求。一些云服务还提供了自己的爬虫服务器,以便在自己的环境中运...
    99+
    2023-10-27
    亚马逊 爬虫 服务器
  • 阿里云服务器爬虫
    一、阿里云服务器的优点 强大的计算能力 阿里云服务器具有强大的计算能力,能够处理大规模的数据存储和计算任务。阿里云服务器的计算能力由多个组件组成,包括CPU、GPU、存储等,能够快速处理海量的数据。此外,阿里云服务器还支持分布式计算、...
    99+
    2023-10-27
    爬虫 阿里 服务器
  • 阿里云服务器 爬虫 ip
    简介 在互联网时代,爬虫技术成为了数据采集和分析的重要工具。然而,随着网络封禁和反爬虫技术的不断升级,爬虫面临着越来越多的挑战,其中 IP就是一个重要的限制因素。本文将介绍如何利用阿里云服务器来优化爬虫的 IP,提升爬虫的效率和稳定性。优化...
    99+
    2024-01-21
    爬虫 阿里 服务器
  • SpringBoot定时任务调度与爬虫的配置实现
    SpringTask SpringTask是Spring自主研发的轻量级定时任务工具,相比于Quartz更加简单方便,且不需要引入其他依赖即可使用。 SpringTask的配置 在配...
    99+
    2024-04-02
  • Linux服务器配置---ntp
    配置ntp    ntp就是网络时间同步的服务,时间的准确性非常重要,很多数据在记录时都要知道准确的时间。网上有很多站点,一般国内会设置匹配中科院国家授时中心的时间。安装ntp软件 [roo...
    99+
    2023-06-05
  • Linux服务器---配置telnet
    配置telnet    通过配置文件,我们可以设置telnet的连接时间、连接数、连接ip等,实现更加安全的连接设置连接时间,参数“access_times”[root@localhost  ...
    99+
    2023-06-05
  • Linux服务器---配置bind
    配置bind确定已经安装bind软件,需要安装3 个bind、bind-chroot、bind-util[root@localhost   wj]# yum install –y bind bind-chroot bind-uti...
    99+
    2023-06-05
  • Linux服务器配置---tftpserver
    安装tftp-server安装tftp-server[root@localhost weijie]# yum install -y tftp-serverLoaded plugins: fastestmirror, refresh...
    99+
    2023-06-05
  • Python中怎么对爬虫程序进行配置
    这篇文章主要介绍Python中怎么对爬虫程序进行配置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float...
    99+
    2023-06-14
  • linux selenium chrome 加载用户配置文件
    linux selenium chrome 加载用户配置文件需要安装linux桌面环境(系统版本: CentOS Linux release 7.6.1810 (Core))yum groupinstall "...
    99+
    2023-01-31
    配置文件 加载 用户
  • 服务器上部署scrapy爬虫项目
    爬爬们,如果你已经开始部署项目了,那么你肯定也已经写好了完整的爬虫项目,恭喜你,你很优秀!**今天忙了小半天的服务器部署,跟大家分享一些心得~ 首先我们要有一台服务器,不好意思,这是废话,略过。。。。。 安装python # 下...
    99+
    2023-01-31
    爬虫 器上 项目
  • 阿里云服务器部署python爬虫
    阿里云服务器部署Python爬虫非常简单,下面是一个基本的Python爬虫示例: ```python import requests from bs4 import BeautifulSoup 设置目标URL url = "https:/...
    99+
    2023-10-26
    爬虫 阿里 服务器
  • 部署爬虫脚本到云服务器
    对于部署爬虫脚本到云服务器,可能需要注意以下几个方面: 配置云服务器的IP地址和端口 首先需要将云服务器的IP地址和端口设置为可用,这样可以保证在云服务器上执行爬虫脚本时不会被网络中断。此外,还需要确保云服务器的IP地址和端口是开放的...
    99+
    2023-10-27
    爬虫 脚本 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作