Как извлечь информацию из веб-страницы с помощью библиотек Selenium и BeautifulSoup?

Как можно сохранить в переменных отдельно "тут должен быть ник", "Алеканр" и "Murmansk" после парсинга данных?
  • 3 апреля 2024 г. 14:19
Ответы на вопрос 2
Для извлечения информации из веб-страницы с помощью библиотек Selenium и BeautifulSoup, вам сначала потребуется установить их:
```
pip install selenium
pip install beautifulsoup4
```

Пример кода для извлечения информации "тут должен быть ник", "Алеканр" и "Murmansk" из веб-страницы выглядит так:

```python
from selenium import webdriver
from bs4 import BeautifulSoup

# Инициализация драйвера браузера
driver = webdriver.Chrome()
driver.get("URL_ВЕБ-СТРАНИЦЫ")

# Получение html-кода страницы
html = driver.page_source

# Создание объекта BeautifulSoup
soup = BeautifulSoup(html, "html.parser")

# Нахождение нужной информации на странице
nickname = soup.find("span", class_="nickname").text
name = soup.find("span", class_="name").text
location = soup.find("span", class_="location").text

# Вывод результатов
print("Nickname:", nickname)
print("Name:", name)
print("Location:", location)

# Закрытие драйвера
driver.quit()
```

В данном примере мы получаем html-код страницы с помощью драйвера браузера, затем создаем объект BeautifulSoup для парсинга данных. Далее находим необходимую информацию на странице, используя метод `find()` и выводим ее.

Чтобы сохранить "тут должен быть ник", "Алеканр" и "Murmansk" в отдельных переменных, просто замените последовательности присваивания `nickname = ...`, `name = ...`, и `location = ...` на нужные вам переменные.
from bs4 import BeautifulSoup

h = '''
    <div class="searchPersonaInfo">
        <a class="searchPersonaName" href="url">Ник</a>
        <br>
        Алекс
        <br>
        Murmansk
        <img src="img.gif">
    </div>
'''

soup = BeautifulSoup(h, 'lxml')
div = soup.find(class_='searchPersonaInfo')
for s in div.stripped_strings:
    print(s)
Похожие вопросы