Я использую BeautifulSoup и python для написания кода для удаления информации с веб-сайта. После того, как я пытаюсь получить определенный контент по категории «класс», он возвращает «[]», это означает «нет»?
BeautifulSoup
это значит, что он ничего не очищает?
следующий мой код:
import requests from bs4 import BeautifulSoup page = requests.get('https://www.metservice.com/towns-cities/locations/auckland/7-days') soup = BeautifulSoup(page.content, 'html.parser') week = soup.find_all(class_='IconWithText-content') print(week)
Проблема в том, что содержимое страницы не загружается во время попытки удаления,
Вы можете использовать selenium с BeautifulSoup
selenium
Пример
import time from bs4 import BeautifulSoup from selenium import webdriver url = "https://www.metservice.com/towns-cities/locations/auckland/7-days" browser = webdriver.Firefox() browser.get(url) time.sleep(5) html = browser.page_source soup = BeautifulSoup(html, 'html.parser') week = soup.find_all(class_='IconWithText-content') print(week)
Если вы посмотрите на фактический html, возвращенный этим запросом, вы обнаружите, что там нет элемента с class из IconWithText-content, поэтому вы не найдете его.
class
IconWithText-content
Что ты бы работал, или это:
soup.find_all(attrs={'class': 'IconWithText-content'})