Веб-парсинг Python JavaScript
Как запустить JavaScript в Python для парсинга веб-сайтов или тестирования веб-сайтов
Изучите одну технику парсинга, чтобы решить любую проблему парсинга.
Когда мы разрабатываем веб-приложения, иногда нам нужно протестировать UX. В большинстве случаев мы делаем это вручную. В этом руководстве я покажу вам, как использовать библиотеку Selenium, JavaScript и Python для решения проблемы. Используя эту технику, вы также можете удалить данные с веб-страницы.
Мы будем делать следующие шаги:
- Установка библиотеки Selenium в Mac и Windows
- Установите Headless драйвер Google Chrome на Mac и Windows
- Напишите и запустите скрипт Python для загрузки сайта github.com в автономном браузере.
- Использование библиотеки Python Selenium для запуска кода JavaScript
- Очистка данных веб-страницы github.com после ее загрузки
- Заполнение формы поиска github.com и отправка по коду
- Наконец, создание снимка экрана невидимого браузера программным способом
Настройка
Нам нужно
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()
Ссылка:
- Селен: 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