CoderCastrov logo
CoderCastrov
Парсер

Как запустить JavaScript в Python для парсинга веб-страниц или тестирования веб-сайтов

Как запустить JavaScript в Python для парсинга веб-страниц или тестирования веб-сайтов
просмотров
3 мин чтение
#Парсер

Парсинг веб-страниц с помощью Python и JavaScript

Изучите одну технику парсинга веб-страниц для решения любой задачи по парсингу

При разработке веб-приложений иногда нам нужно тестировать пользовательский интерфейс. В большинстве случаев мы делаем это вручную. В этом руководстве я покажу вам, как использовать библиотеку Selenium, JavaScript и Python для решения этой проблемы. С помощью этой техники вы также можете парсить данные с веб-страницы.

Мы будем выполнять следующие шаги:

Настройка

Для установки библиотеки Selenium для этого проекта нам понадобится [pipenv](https://thinkdiff.net/python/python-official-pipenv-packaging-tool-for-virtualenv-and-pip-in-mac-and-windows/). **Если вы не знаете, как установить **Pipenv**, пожалуйста, **проверьте мое другое руководство

1. Установка библиотеки Selenium на Mac и Windows

Сначала откройте терминал и перейдите в директорию. В моем случае я нахожусь в следующей директории:

/Users/mahmud/Desktop/demo/sel1

Теперь откройте терминал на Mac или PowerShell на Windows и выполните следующие команды:

pipenv install selenium

Это создаст 2 файла, Pipfile и Pipfile.lock

Теперь выполните следующую команду, чтобы активировать виртуальное окружение проекта sel1.

pipenv shell

2. Установка безголового драйвера Google Chrome

Для автоматизации веб-браузера нам понадобится установить драйвер Google Chrome. Пожалуйста, посетите следующий веб-сайт и скачайте последнюю версию драйвера для вашей операционной системы Mac, Windows или Linux.

Теперь распакуйте скачанный файл и скопируйте файл **chromedriver.exe** в нашу рабочую директорию проекта **sel1**.

3. Запустите python-скрипт

Теперь в директории sel1 создайте python-скрипт с именем **chapter9.py или что-то еще** и вставьте следующий код.


4. Запустите программу

В терминале macOS выполните следующую команду:

python3 chapter9.py

В окне PowerShell Windows 10 выполните следующую команду. Просто используйте Python вместо Python3

python chapter9.py

После успешного запуска программы вы получите файл png с именем python-github.png

5. Анализ скрипта на Python

Это очень простой скрипт. Сначала мы импортируем библиотеки Selenium для Python в наш скрипт. Затем мы создаем объект веб-драйвера на основе некоторых предоставленных параметров, а также указываем расположение драйвера браузера Google Chrome через объект **chrome_driver**.

Затем с помощью метода **driver.get()** мы загружаем веб-сайт [github.com](http://github.com/).

В разделе #scrap info мы парсим данные HTML-тега h1 и выводим их в консоль. Вот как мы парсим с помощью Selenium и браузера без графического интерфейса.

В разделе #scrap info мы парсим данные HTML-тега h1 и выводим их в консоль. Вот как мы парсим с помощью Selenium и браузера без графического интерфейса.

_# парсинг информации_
 h1_elem = driver.find_element_by_tag_name("h1")
 print(h1_elem.text)

Мы видим, что в терминале выводится "Built for developers".

Наконец, мы заполняем и отправляем форму с помощью кода. Чтобы выбрать форму поиска на веб-странице с помощью JavaScript, мы используем опцию "Просмотр кода" в браузере Google Chrome, чтобы проверить имя элемента формы.

Вот код, который автоматически выполняет поиск и отправляет форму:

_# заполнение и отправка формы_
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("python")
elem.send_keys(Keys.RETURN)

Чтобы сделать снимок экрана конечной страницы, мы пишем следующий код:

# захват скриншота
  driver.get_screenshot_as_file("python-github.png")
  driver.close()

Ссылки:

  1. Документация Selenium для Python: http://selenium-python.readthedocs.io/getting-started.html

  2. Веб-драйвер Google Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads

Посмотрите мои другие учебники по парсингу веб-страниц:

Как собрать новости с помощью парсера веб-страниц на Python

Давайте изучим парсинг веб-страниц с использованием библиотеки BeautifulSoup на Python

medium.com

Как собрать данные с веб-сайта на основе JavaScript с помощью Python, Selenium и безголового веб-драйвера

Изучите одну технику парсинга веб-страниц для решения любой задачи парсинга.

medium.com