BeautifulSoup найти класс вернуть нет - PullRequest
1 голос
/ 20 апреля 2020

Я использую BeautifulSoup и python для написания кода для удаления информации с веб-сайта. После того, как я пытаюсь получить определенный контент по категории «класс», он возвращает «[]», это означает «нет»?

это значит, что он ничего не очищает?

следующий мой код:

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)

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

Проблема в том, что содержимое страницы не загружается во время попытки удаления,

Вы можете использовать selenium с BeautifulSoup

Пример

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)
0 голосов
/ 20 апреля 2020

Если вы посмотрите на фактический html, возвращенный этим запросом, вы обнаружите, что там нет элемента с class из IconWithText-content, поэтому вы не найдете его.

Что ты бы работал, или это:

soup.find_all(attrs={'class': 'IconWithText-content'})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...