Парсер
Настройка сервера для парсинга на Digital Ocean — Часть 2
Table Of Content
- Шаг первый: Вход в систему
- Шаг второй: Добро пожаловать на ваш сервер!
- Шаг Три: Установка Python, обновление pip и установка нескольких пакетов
- Шаг Четыре: Установка Chrome
- Шаг пятый: Установка Chrome Driver
- Шаг шестой: Установка фиктивного дисплея
- Шаг седьмой: Проверим
- Шаг Восемь: Позвольте гремлинам в вашей голове взять верх.
После успешного создания droplet остается только взаимодействовать с ним и настроить его для наших целей.
Шаг первый: Вход в систему
Запишите IP-адрес droplet, вам понадобится он для входа в систему.
Еще одна вещь, которая вам понадобится, это ключи, которые вы сгенерировали ранее.
Шаг второй: Добро пожаловать на ваш сервер!
Начнем с обновления уже установленного программного обеспечения на сервере.
apt update
apt -y upgrade
Шаг Три: Установка Python, обновление pip и установка нескольких пакетов
apt install -y python3
- Теперь мы хотим получить PIP и необходимые пакеты с помощью следующей команды
sudo apt-get -y install python3-pip python3-dev build-essential libssl-dev libffi-dev xvfb
- Обновите PIP с помощью команды:
pip3 install --upgrade pip
- Установка virtualenv позволит нам создавать виртуальное окружение и устанавливать в него любые пакеты Python без влияния на системный Python.
sudo pip3 install virtualenv
virtualenv /var/venv
source /var/venv/bin/activate
Шаг Четыре: Установка Chrome
apt install -y libxss1 libappindicator1 libindicator7
- Затем мы загрузим пакет Chrome.
wget [https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb](https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb)
- Мы будем использовать
dpkg
, чтобы попытаться установить его из файла пакета.
dpkg -i google-chrome*.deb
- По какой-то причине это не удается, и затем нам потребуется выполнить следующую команду, которая все исправит.
apt install -y -f
Шаг пятый: Установка Chrome Driver
wget [https://chromedriver.storage.googleapis.com/2.30/chromedriver_linux64.zip](https://chromedriver.storage.googleapis.com/2.30/chromedriver_linux64.zip)
wget [https://chromedriver.storage.googleapis.com/2.30/chromedriver_linux64.zip](https://chromedriver.storage.googleapis.com/2.30/chromedriver_linux64.zip)
- Теперь мы можем использовать команду
unzip
, чтобы распаковать его.
unzip chromedriver_linux64.zip
- Изменим его на исполняемый файл. Затем переместим его в доступное место в нашем PATH.
chmod +x chromedriver
mv -f chromedriver /usr/local/bin/chromedriver
Шаг шестой: Установка фиктивного дисплея
Как мы знаем, для того чтобы парсить информацию с веб-сайтов, Selenium очень хочет иметь дисплей, поэтому нам нужно предоставить его здесь.
Сначала установим необходимые пакеты.
apt install -y xvfb
Затем установим основное.
pip3 install pyvirtualdisplay
Шаг седьмой: Проверим
Откройте ipython-сессию, набрав ipython
, и выполните следующий код
**from** pyvirtualdisplay **import** Display
**from** selenium **import** webdriverdisplay = Display(visible=0, size=(800, 600))
display.start()options = webdriver.ChromeOptions()
options.add_argument('--no-sandbox')
options = webdriver.ChromeOptions()
options.add_argument('--disable-extensions')
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')driver = webdriver.Chrome(chrome_options=options)
driver.get('http://google.com')
print(driver.title)