Webscraping с Python, BeautifulSoup findAll () не находит все - PullRequest
0 голосов
/ 27 декабря 2018

Я новичок в Python и в настоящее время пытаюсь создать веб-браузер для изучения языка.Я хочу сохранить все списки с https://www.notebooksbilliger.de/studentenprogramm/notebooks,, то есть со всех ноутбуков, которые подпадают под категорию предложений для студентов с этого сайта.

from urllib.request import urlopen
from bs4 import BeautifulSoup as soup

my_url = 'https://www.notebooksbilliger.de/studentenprogramm/notebooks'

uClient = urlopen(my_url)
page_html = uClient.read()
uClient.close()

page_soup = soup(page_html, "html.parser")
containers = page_soup.findAll("div", {"class":"mouseover clearfix"})

Я тоже пытаюсь что-то проверить в консоли, но когдаЯ проверяю длину контейнеров, это вывод, который я получаю:

>>> len(containers)
1

Что не может быть правильным, так как списков на странице установлено на 50. Я пытался искать с другими параметрами, но явсегда, кажется, только находишь один предмет, тогда поиск прекращается.

Я сейчас немного растерялся и не могу понять, как решить эту проблему.Любая помощь?

Привет:)

1 Ответ

0 голосов
/ 27 декабря 2018

Что ж, это стыдно.

Сразу после того, как я опубликовал это (в свою защиту после нескольких поисков и бесконечных попыток), я понял, что html-классы не могут содержать пробелы, и что при наведении курсора на клиф это на самом деле 2классы.Это работает:

containers = page_soup.findAll("div", {"class":"mouseover"})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...