- . Я попробовал следующие решения, и все они вернули 0 сообщений:
messages = soup.find_all("ol")
messages = soup.find_all('div', class_='messageContent')
messages = soup.find_all("li")
messages = soup.select('ol > li')
messages = soup.select('.messageList > li')
Полный HTML-код можно увидеть здесь, в этом списке. - Просто интересно, как правильно получить эти элементы списка.
- В красивом супе вам нужно знать вложенный путь, чтобы получить нужный элемент. Или что-то вроде Soup.find_all("li") должно возвращать все элементы, независимо от того, вложенные они или нет?
Обновить
Вот как я получил код.
from bs4 import BeautifulSoup
# Load the HTML content
with open('/tmp/property.html', 'r', encoding='utf-8') as file:
html_content = file.read()
# Create a BeautifulSoup object and specify the parser
soup = BeautifulSoup(html_content, 'html.parser')
Файл находится в основной ссылке выше.
Обновление 2
Я заработал, используя библиотеку запросов. Похоже, загрузка файла вручную могла привести к поломке некоторых HTML-кодов?
import requests
from bs4 import BeautifulSoup
url = "https://www.propertychat.com.au/communi ... 024.75213/"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
messages = soup.select('.messageList > li')
Подробнее здесь: https://stackoverflow.com/questions/777 ... utifulsoup
Мобильная версия