Centos7安装chrome+python3+selenium+webdriver实现chrome浏览器采集数据
一、安装Google浏览器
yum install google-chrome -y #如果不能装上的话就尝试下载安装
1、下载chrome wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm 2、安装chrome yum install ./google-chrome-stable_current_x86_64.rpm
安装成功后,验证google的版本
google-chrome --version #查看chrome浏览器版本 如果显示版本号 则安装成功;
二、安装chromedriver浏览器驱动
注意chromedriver的版本,要与你安装的chrome版本对应上,这里的版本已经不是最新的。
版本列表:http://chromedriver.chromium.org/downloads
115及之后的新版本的浏览器驱动:https://chromedriver.com/download
国内淘宝的镜像地址:https://registry.npmmirror.com/binary.html?path=chromedriver/
下载chromedriver_linux64.zip
cd /opt/ #首先先进入OPT目录 wget https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.94/linux64/chromedriver-linux64.zip #122版本的浏览器驱动 unzip linux64/chromedriver-linux64 #解压文件 ls -ll chromedriver #得到一个二进制可执行文件 mkdir -p /opt/driver/bin #创建存放驱动的文件夹driver mv chromedriver /opt/driver/bin/ #将chromedirver放入文件夹driver中bin下
配置环境变量
vim /etc/profile # 添加内容 export DRIVER=/opt/driver export PATH=$PATH:$DRIVER/bin #保存文件 source /etc/profile #设置环境变量立即生效 chromedriver --version #查看驱动版本,能正常显示版本号 则设置成功;
三、安装Python3
yum install pyhton3 #即可正常安装
四、安装selenium
pip3 install selenium
from selenium.webdriver import Chrome from selenium.webdriver.chrome.options import Options import time import os.path # 配置驱动路径 DRIVER_PATH = '/opt/driver/bin/chromedriver' if __name__ == "__main__": # 设置浏览器 options = Options() options.add_argument('--no-sandbox') options.add_argument('--headless') # 无头参数 options.add_argument('--disable-gpu') # 启动浏览器 driver = Chrome(executable_path=DRIVER_PATH, options=options) driver.maximize_window() try: # 访问页面 url = 'https://www.jianshu.com/u/a94f887f8776' driver.get(url) time.sleep(1) # 设置截屏整个网页的宽度以及高度 scroll_width = 1600 scroll_height = 1500 driver.set_window_size(scroll_width, scroll_height) # 关闭浏览器 driver.close() driver.quit() except Exception as e: print(e)
https://blog.csdn.net/u012887259/article/details/103306861/
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') chrome_options.add_argument('--headless') browser = webdriver.Chrome(chrome_options=chrome_options) browser.get('https://lumtest.com/myip.json') print(browser.page_source)
解决无法加载浏览器插件的问题
from unknown error: page could not be found: chrome-extension://kmfmlecicfolmocapbbhilogaebehllm/_generated_background_page.html
解决方案:
一、安装Xvfb虚拟界面工具和xdpyinfo yum install Xvfb -y yum install xdpyinfo 二、安装Python虚拟桌面 pyvirtualdisplay pip3 install pyvirtualdisplay
全部安装成功后,执行下面的python代码进行测试;注意:代码的红色#要删掉
from selenium.webdriver import Chrome from selenium.webdriver.chrome.options import Options from pyvirtualdisplay import Display import time import os.path #启动虚拟窗口 display = Display(visible=0, size=(800, 800)) display.start() # 配置驱动路径 DRIVER_PATH = '/opt/driver/bin/chromedriver' if __name__ == "__main__": # 设置浏览器 options = Options() options.add_argument('--no-sandbox') #options.add_argument('--headless') # 无头参数 options.add_argument('--disable-gpu') options.add_argument('--user-data-dir=/root/data/A-02') options.add_argument('--proxy-server=154.9.235.29:6666') options.add_argument('--load-extension=/root/py/zw/') # 启动浏览器 driver = Chrome(executable_path=DRIVER_PATH, options=options) driver.maximize_window() try: # 访问页面 time.sleep(1) url = 'https://zw.ul25.com/' driver.get(url) time.sleep(1) print(driver.page_source) # 设置截屏整个网页的宽度以及高度 scroll_width = 1600 scroll_height = 1500 driver.set_window_size(scroll_width, scroll_height) # 保存图片 img_path = os.getcw#d() img_name = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time())) img = "%s.png" % os.path.join(img_path, img_name) driver.get_screenshot_as_#file(img) # 关闭浏览器 driver.close() driver.quit() except Exception as e: print(e)
发表回复
评论列表(0条)