Динамический парсинг веб-страниц обычно использует некоторые библиотеки Python, такие как запросы для обработки HTTP-запросов, selenium для имитации поведения браузера или pyppeteer. Следующая статья будет посвящена использованию селена.
selenium — это инструмент для тестирования веб-приложений, но он также часто используется для очистки веб-страниц, особенно когда необходимо удалить веб-контент, динамически генерируемый JavaScript. selenium может имитировать поведение пользователя в браузере, например нажатие, ввод текста и получение элементов веб-страницы.
Во-первых, убедитесь, что у вас установлен селен. Если нет, вы можете установить его через pip:
pip install selenium
Вам также необходимо скачать WebDriver для соответствующего браузера. «Предполагая, что мы используем браузер Chrome», вам необходимо загрузить ChromeDriver и убедиться, что его путь добавлен в переменные системной среды, или вы можете указать его путь непосредственно в коде.
Вот простой пример получения заголовка веб-страницы:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager # Setting up webdriver driver = webdriver.Chrome(service=Service(ChromeDriverManager().install())) # Open the webpage driver.get('https://www.example.com') # Get the webpage title title = driver.title print(title) # Close the browser driver.quit()
Этот скрипт откроет сайт example.com, получит его заголовок и распечатает его.
Обратите внимание, что webdriver_manager — это сторонняя библиотека, которая автоматически управляет версиями WebDriver. Если вы не хотите его использовать, вы также можете вручную загрузить WebDriver и указать путь.
Динамические веб-страницы могут включать контент, отображаемый с помощью JavaScript. selenium может дождаться загрузки этих элементов перед работой, что очень удобно для обработки таких веб-страниц.
При использовании Python для сканирования динамических веб-страниц вы часто используете прокси. Использование прокси позволяет избежать многих препятствий с одной стороны и повышает эффективность работы с другой.
Установку селена мы представили выше. Кроме того, вам также необходимо скачать WebDriver соответствующего браузера и убедиться, что его путь добавлен в переменные среды системы, или вы можете указать его путь непосредственно в коде.
После выполнения вышеуказанных шагов мы можем настроить прокси и удалить динамические веб-страницы:
from selenium import webdriver from selenium.webdriver.chrome.options import Options # Set Chrome options chrome_options = Options() chrome_options.add_argument('--proxy-server=http://your_proxy_ip:port') # Specify the WebDriver path (if you have added the WebDriver path to the system environment variables, you can skip this step) # driver_path = 'path/to/your/chromedriver' # driver = webdriver.Chrome(executable_path=driver_path, options=chrome_options) # If WebDriver path is not specified, the default path is used (make sure you have added WebDriver to your system environment variables) driver = webdriver.Chrome(options=chrome_options) # Open the webpage driver.get('https://www.example.com') # Get the webpage title title = driver.title print(title) # Close the browser driver.quit()
В этом примере --proxy-server=http://your_proxy_ip:port — это параметр для настройки прокси-сервера. Вам необходимо заменить your_proxy_ip и порт на IP-адрес и номер порта прокси-сервера, который вы фактически используете. использовать
Если ваш прокси-сервер требует аутентификации, вы можете использовать следующий формат:
chrome_options.add_argument('--proxy-server=http://username:password@your_proxy_ip:port')
Где имя пользователя и пароль — имя пользователя и пароль вашего прокси-сервера.
После запуска приведенного выше кода selenium получит доступ к целевой веб-странице через настроенный прокси-сервер и распечатает заголовок веб-страницы.
Как указать путь к ChromeDriver?
ChromeDriver является частью Selenium WebDriver. Он взаимодействует с браузером Chrome через API WebDriver для реализации таких функций, как автоматическое тестирование и веб-сканеры.
Указание пути к ChromeDriver в основном включает настройку переменных среды. Вот конкретные шаги:
1. Найдите место установки Chrome
Найти его можно, щелкнув правой кнопкой мыши ярлык Google Chrome на рабочем столе и выбрав «Открыть местоположение файла».
2. Добавьте путь установки Chrome в переменную системной среды Path
Это позволяет системе распознавать ChromeDriver в любом месте.
3. Загрузите и разархивируйте ChromeDriver
Обязательно загрузите ChromeDriver, соответствующий версии браузера Chrome, и разархивируйте его в программу exe.
4. Скопируйте exe-файл ChromeDriver в путь установки Chrome
Таким образом, когда вам нужно использовать ChromeDriver, система может автоматически распознать и вызвать его
Выше описано применение селена и веб-драйвера при динамическом сканировании веб-страниц Python и способы его избежать при сканировании веб-страниц. Конечно, вы также можете попрактиковаться в реальных операциях на приведенных выше примерах.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3