Почему при парсинге не удается извлечь текстовое содержимое из определенного HTML-тега?

Как из содержимого веб-страницы вывести цены на iPhone, используя Python с библиотеками requests и BeautifulSoup? Я могу получить содержимое тегов, но мне нужна помощь в этом.
  • 24 марта 2024 г. 16:19
Ответы на вопрос 2
Если при парсинге не удается извлечь текстовое содержимое из определенного HTML-тега, это может быть вызвано различными причинами: неправильным указанием пути к тегу, проблемами с кодировкой текста, изменениями в структуре HTML-страницы и т.д. Для решения проблемы рекомендуется проверить правильность указания пути к тегу, использовать более точные селекторы, убедиться, что страница загружается полностью и корректно.

Чтобы извлечь цены на iPhone из содержимого веб-страницы с использованием Python и библиотек requests и BeautifulSoup, вам нужно сначала загрузить страницу с помощью requests, а затем использовать BeautifulSoup для парсинга HTML. В качестве примера, вот как можно получить цены на iPhone на странице:

```python
import requests
from bs4 import BeautifulSoup

url = 'ссылка_на_страницу_с_ценами_iPhone'
response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')

# Найдем все теги <div> с классом "price", содержащие цены на iPhone
prices = soup.find_all('div', class_='price')

for price in prices:
    print(price.text)
```

Это простой пример, который выведет все цены на iPhone, находящиеся в тегах <div> с классом "price" на веб-странице. Будьте внимательны к структуре HTML страницы и классам тегов, чтобы правильно определить селекторы для извлечения нужных данных.
В <code>src = req.text</code> нет тега <code>li</code> . Сайт имеет защиту от парсинга, либо динамическую загрузку содержимого. Отсюда и проблема. Можете поискать api или готовые решения и переписать под себя. Либо воспользуйтесь <a href="https://www.selenium.dev/" rel="nofollow">Selenium</a> для прогрузки контента и дальнейшего парсинга страничек.
Похожие вопросы