2017-02-07 9 views
2

Я пытаюсь получить вложенные div и его содержимое, но не могу. Я хочу получить доступ к div с классом: «box coursebox». source code of required section of pageBeautifulSoup не может найти необходимый div

response = res.read() 
soup = BeautifulSoup(response, "html.parser")  
div = soup.find_all('div', attrs={'class':'box coursebox'}) 

Приведенный выше код дает DIV с 0 элементами, когда должно быть 8. find_all вызовы до этой линии работы отлично.

Спасибо за помощь!

+0

пост URL ......... –

+0

Веб-сайт размещается только в локальной сети моего университета и не может получить доступ извне. В представленном изображении отображается требуемый раздел HTML. –

ответ

0

В случае атрибутов, имеющих более одного значения, Beautiful Soup помещает все значения в список. В вашем коде вам нужно учитывать это, когда вы выполняете поиск.

Возможно, что-то вроде этого?

div = soup.find_all('div', class_="box coursebox"}) 

Обратитесь к this section документации Beautiful Soup для получения более подробной информации о многозначных атрибутах и ​​this section для деталей на поиск элементов вверх по классу.

Также , пожалуйста, не размещать исходный код как изображение.

+0

Извините за изображение, я не буду делать это в следующий раз. Кроме того, я сделал именно то, что вы предложили в исходном коде выше, пожалуйста, взгляните на него. Изображение имеет требуемый HTML-адрес веб-страницы, а код, написанный для очистки, находится ниже него. –

0

изменение:

soup = BeautifulSoup(response, "html.parser") 

к:

soup = BeautifulSoup(response, "lxml") 

html.parser не является стабильным, вы можете изменить его на lxml

+0

Все еще не работает –