python BeautifulSoup findAll intr-txt

时间:2015-11-15 18:23:03

标签: python beautifulsoup

我想从div'中删除所有标记内容:' js-interests-list-wrap js-interests-board js-wrap'来自此页面的whitSoup:https://badoo.com/profile/0266965187。我写了这段代码:

parsed_html = BeautifulSoup(html)
interese = parsed_html.findAll('div', {'class':'js-interests-list-wrap js-interests-board js-wrap'})

实际输出是:

<div class="js-interests-list-wrap js-interests-board js-wrap" data-interests-type="hon-all"> <span class="js-intr intr"> <i class="intr-ico intr-ico--fashion"></i><!-- --><span class="intr-txt">Fotografii de modă</span> </span><span class="js-intr intr"> <i class="intr-ico intr-ico--food"></i><!-- --><span class="intr-txt">Mâncare de casă</span> </span><span class="js-intr intr"> <i class="intr-ico intr-ico--fashion"></i><!-- --><span class="intr-txt">Reviste</span> </span><span class="js-intr intr"> <i class="intr-ico intr-ico--food"></i><!-- --><span class="intr-txt">Gătitul</span> </span><span class="js-intr intr"> <i class="intr-ico intr-ico--food"></i><!-- --><span class="intr-txt">Să ies în oraș la masă</span> </span><span class="js-intr intr"> <i class="intr-ico intr-ico--travel"></i><!-- --><span class="intr-txt">Călătorii în lume</span> </span><span class="js-intr intr"> <i class="intr-ico intr-ico--hobby"></i><!-- --><span class="intr-txt">Fotografii</span> </span><span class="js-intr intr"> <i class="intr-ico intr-ico--music"></i><!-- --><span class="intr-txt">Dance</span> </span><span class="js-intr intr"> <i class="intr-ico intr-ico--hobby"></i><!-- --><span class="intr-txt">Fericire</span> </span><span class="js-intr intr"> <i class="intr-ico intr-ico--other"></i><!-- --><span class="intr-txt">Dansul</span> </span><span class="js-intr intr"> <i class="intr-ico intr-ico--hobby"></i><!-- --><span class="intr-txt">Shopping</span> </span><span class="js-intr intr"> <i class="intr-ico intr-ico--hobby"></i><!-- --><span class="intr-txt">Munți</span> </span> <div class="btn btn--sm btn--white btn--ico"><i class="icon ico--etc"><a href="https://badoo.com/signup/" class="b-link"></a></i></div> </div>

只需要输出格式文本,如下所示:

    Fotografii de modă,
Să dorm cu cineva în brațe,
 Munți,
 Photography,
 Reviste,
 Shopping,
 Dance,
 Fotografii,
 Dansul,
 Fericire,
 Bucătărie,
 Gătitul

怎么能这样提取?

1 个答案:

答案 0 :(得分:0)

您已经获得了所需的所有div标记,现在您需要提取所需的所有span标记,然后使用get_text打印出文本。如果您将此代码添加到您的

interese = parsed_html.findAll('div', {'class':'js-interests-list-wrap js-interests-board js-wrap'})
for i in interese:
    texts = i.findAll("span", attrs={"class":"intr-txt"})
    for t in texts:
        print(t.get_text())

你会得到这个输出

Shopping
Bucătărie
Fotografii
Mâncare de casă
Gătitul
Munți
Călătorii în lume
Dance
Tort
Să ies în oraș la masă
Reviste
Dansul