V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
GhostEX
V2EX  ›  问与答

BeautifulSoup 如何提取标签中被<br/>隔开的内容?

  •  
  •   GhostEX · 2016-06-03 04:38:51 +08:00 · 5501 次点击
    这是一个创建于 3096 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 BS 解析这个 div 标签,然后打印结果只有第一行文字,到第一个
    就结束了,这是为什么?

    需要解析的内容:

    <div class="text1">
    - 乐视网即将复牌 关注分级基金溢价机会 </br>
    - 航信转债 6 月 8 日付息登记日,每张 0.2 元</br>
    - 量化模型中不同买卖时间的效果对比 & 今日翻多创业板指数</br>
    - 不惑之年魔都土著夫妇如何保住自己的养老积蓄?</br>
    </div>
    

    python 代码

    content_soup = soup.find('div',class_='text1').get_text()
    print content_soup
    
    5 条回复    2016-06-03 07:31:59 +08:00
    RqPS6rhmP3Nyn3Tm
        1
    RqPS6rhmP3Nyn3Tm  
       2016-06-03 05:05:47 +08:00 via Android
    for 循环吧
    RqPS6rhmP3Nyn3Tm
        2
    RqPS6rhmP3Nyn3Tm  
       2016-06-03 05:06:47 +08:00 via Android
    漏看标签了, sorry ,这里循环不管用
    hiwljun
        3
    hiwljun  
       2016-06-03 07:15:54 +08:00   ❤️ 1
    html = '<div class="text1"> \
    - 乐视网即将复牌 关注分级基金溢价机会 </br> \
    - 航信转债 6 月 8 日付息登记日,每张 0.2 元</br> \
    - 量化模型中不同买卖时间的效果对比 & 今日翻多创业板指数</br> \
    - 不惑之年魔都土著夫妇如何保住自己的养老积蓄?</br></div>'
    soup = BeautifulSoup(html, 'lxml')
    text = soup.find('div', 'text1').get_text(strip=True).encode('utf-8')
    print text

    测试可以取到全部内容。
    YUX
        4
    YUX  
       2016-06-03 07:17:15 +08:00   ❤️ 2
    是 html.parser 的锅
    你看这样

    soup = BeautifulSoup(html_doc, "html.parser")
    print(soup)

    输出会是什么? 是

    <div class="text1">
    - 乐视网即将复牌 关注分级基金溢价机会 </div>
    - 航信转债 6 月 8 日付息登记日,每张 0.2 元
    - 量化模型中不同买卖时间的效果对比 &amp; 今日翻多创业板指数
    - 不惑之年魔都土著夫妇如何保住自己的养老积蓄?

    html.parser 把第一个</br>解析成了</div>

    换一个解析器就好了, 比如 lxml HTML 解析器 > pip install lxml
    soup = BeautifulSoup(html_doc, "lxml")
    content_soup = soup.find('div',class_='text1').get_text()
    print(content_soup)

    输出就是

    - 乐视网即将复牌 关注分级基金溢价机会
    - 航信转债 6 月 8 日付息登记日,每张 0.2 元
    - 量化模型中不同买卖时间的效果对比 & 今日翻多创业板指数
    - 不惑之年魔都土著夫妇如何保住自己的养老积蓄?
    GhostEX
        5
    GhostEX  
    OP
       2016-06-03 07:31:59 +08:00 via iPhone
    @YUX 有用,非常感谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2709 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 10:37 · PVG 18:37 · LAX 02:37 · JFK 05:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.