Веб-парсинг Python JavaScript

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

Изучите одну технику парсинга, чтобы решить любую проблему парсинга.

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

Мы будем делать следующие шаги:

  1. Установка библиотеки Selenium в Mac и Windows
  2. Установите Headless драйвер Google Chrome на Mac и Windows
  3. Напишите и запустите скрипт Python для загрузки сайта github.com в автономном браузере.
  4. Использование библиотеки Python Selenium для запуска кода JavaScript
  5. Очистка данных веб-страницы github.com после ее загрузки
  6. Заполнение формы поиска github.com и отправка по коду
  7. Наконец, создание снимка экрана невидимого браузера программным способом

Настройка

Нам нужно pipenv , чтобы установить библиотеку Selenium для этого проекта. Если вы не знаете, как установить Pipenv, просмотрите другой мой учебник

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

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

/Users/mahmud/Desktop/demo/sel1

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

pipenv install selenium

Будет создано 2 файла: Pipfile и Pipfile.lock.

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

pipenv shell

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

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

Теперь разархивируйте загруженный файл и скопируйте chromedriver.exe файл в каталог нашего проекта sel1.

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

Теперь в каталоге sel1 создайте сценарий Python с именем chapter9.py or whatever и вставьте следующие коды.

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

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

python3 chapter9.py

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

python chapter9.py

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

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

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

Затем методом driver.get() загружаем сайт github.com.

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

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

# scrap info
 h1_elem = driver.find_element_by_tag_name("h1")
 print(h1_elem.text)

Мы видим, что «Создано для разработчиков» напечатано в терминале.

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

Это код, который автоматизирует поиск и отправку формы:

# fill and submit form
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("python")
elem.send_keys(Keys.RETURN)

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

# screenshot capture
  driver.get_screenshot_as_file("python-github.png")
  driver.close()

Ссылка:

  1. Селен: https://www.seleniumhq.org

2. Документы Selenium Python: http://selenium-python.readthedocs.io/getting-started.html

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

Ознакомьтесь с моими другими уроками по парсингу: