2017-02-11 11 views
0

Я использую beautifulsoup для синтаксического анализа этой строки, но это не подбирает ее.Как использовать beautifulsoup для анализа HTML-тега с несколькими атрибутами в классе?

Это мой код:

symbols = bsObj.findAll("span", {"class":{"qb_up", "qb_down", re.compile('* qb_shad')}}) 

Это HTML код, который я пытаюсь подобрать:

<td align="right" class="ds_weighted_alpha qb_shad" nowrap="nowrap">0.00</td> 
+0

вам нужно 'td', почему вы' находите ('span') ' –

ответ

0
> import bs4 
> import re 
> 
> td_page = '<td align="right" class="ds_weighted_alpha qb_shad" 
> nowrap="nowrap">0.00</td>' 
> 
> bsObj = bs4.BeautifulSoup(td_page, "lxml") 
> 
> symbols = bsObj.find("td", class_=re.compile("ds_weighted")) 
> 
> symbols_get = symbols.get("class") 
In [107]: symbols_get 
Out[116]: 
['ds_weighted_alpha', 'qb_shad'] 

Не беспокойтесь о атрибуты быть отделено. Просто передайте соответствующий тег методу get, и если в атрибуте есть несколько значений, он предоставит вам список. Как это предлагает @ 宏杰 李, вы должны вызвать метод find на теге td, но не на span, если вы действительно имеете дело с предоставленным кодом

 Смежные вопросы

  • Нет связанных вопросов^_^