Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 10, 2016 22:03:04

newpy
Зарегистрирован: 2014-08-12
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Как подружить BeautifulSoup и атрибуты, если значения содержат пробелы?

То есть значнеие class двух- или более -сложное?

from bs4 import BeautifulSoup
soup = BeautifulSoup('<html><body><div class="class1"></div><div class="class1"></div><div class="class2 class2"></div></body></html>')
soup.findAll('div',"class1") #работает
soup.findAll('div',"class2 class2") #неработает!
Поиск не помогает.. Похоже неправильно ищу.. Я пытаюсь используя Multi-valued attributes
Как быть? Или как искать?



__________________
py3.7.8-64 win10-64

Отредактировано newpy (Фев. 10, 2016 22:04:29)

Офлайн

#2 Фев. 10, 2016 22:44:45

Firik
Зарегистрирован: 2015-12-02
Сообщения: 151
Репутация: +  6  -
Профиль   Отправить e-mail  

Как подружить BeautifulSoup и атрибуты, если значения содержат пробелы?

Можно использовать регулярные выражения, как тут например

Офлайн

#3 Фев. 10, 2016 23:06:07

newpy
Зарегистрирован: 2014-08-12
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Как подружить BeautifulSoup и атрибуты, если значения содержат пробелы?

всё таки регулярку надо использовать?! так не хотелось.. да ещё надо будет ставить lxml, а уменя встроенное html5lib



__________________
py3.7.8-64 win10-64

Офлайн

#4 Фев. 10, 2016 23:22:47

ayb
Зарегистрирован: 2014-04-01
Сообщения: 297
Репутация: +  24  -
Профиль   Отправить e-mail  

Как подружить BeautifulSoup и атрибуты, если значения содержат пробелы?

soup.findAll("div", class_="class2 class2")

Офлайн

#5 Фев. 10, 2016 23:25:04

Xion
Зарегистрирован: 2016-01-17
Сообщения: 21
Репутация: +  0  -
Профиль  

Как подружить BeautifulSoup и атрибуты, если значения содержат пробелы?

ayb
soup.findAll(“div”, class_=“class2 class2”)
А я делаю так:
soup.findAll("div", {'class':"class2 class2"})

Офлайн

#6 Фев. 11, 2016 00:06:47

newpy
Зарегистрирован: 2014-08-12
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Как подружить BeautifulSoup и атрибуты, если значения содержат пробелы?

Работает! И так и так. И по моему!!

Но! Работает если строго вот так:

soup.findAll('div',"class2 class2") #неработает! работает!!!!

A у меня есть нюанс. Значение идет в списке значений, вот так:

for tag in soup.find_all('div',["lite-note","login-popup","voting guest","reply","edit_cmt"]):

Что посоветуете? Только вытащить из списка и отдельной строкой?



__________________
py3.7.8-64 win10-64

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version