【问题标题】:Get Paragraph Content获取段落内容
【发布时间】:2016-06-28 05:13:28
【问题描述】:

我在获取段落标签的内容时有点困惑。

<div class="SomeID">
<p>What a voice! </p>
</div>

我到了这一点

list = soup.find_all("div","SomeID")

但是如何获取段落内容。(好声音!)

基本问题是从

中获取所有段落标签的内容
import urllib
from bs4 import BeautifulSoup

html = urllib.urlopen('http://www.dawn.com/news/1267272/democracys-woes').read()
soup = BeautifulSoup(html, 'html.parser')
list = soup.find_all("div","comment__body cf")
print list

【问题讨论】:

    标签: python python-2.7 beautifulsoup pydev


    【解决方案1】:

    您实际上可以使用CSS selector:

    for p in soup.select("div.SomeID > p"):
        print(p.get_text(strip=True))
    

    或者,如果您需要单个 p 元素:

    soup.select_one("div.SomeID > p").get_text(strip=True)
    

    注意这里的&gt;表示直接的父子关系。

    【讨论】:

    • 两者都不起作用。我正在更新问题。请粗略浏览一下。
    • @AliMurtaza 好吧,div.comment__body &gt; p 为我工作。
    • 它不起作用:从 bs4 导入 urllib import BeautifulSoup html = urllib.urlopen('dawn.com/news/1267272/democracys-woes').read()soup = BeautifulSoup(html, 'html.parser') # list = soup.find_all("div ","comment__body cf") # 打印列表 list2 = soup.select_one("div.comment__body cf > p").get_text(strip=True) 打印列表2
    • @AliMurtaza 这是我执行的操作:gist.github.com/alecxe/3df9305351c44b1cc78737675d1ac5b8。输出在要点的 cmets 中。顺便说一句,使用 Python3。
    • 好的。非常感谢。它正在工作(没有.requests)。我应该更新 python。
    猜你喜欢
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 2011-05-06
    • 1970-01-01
    • 2012-07-22
    • 2018-06-25
    • 1970-01-01
    相关资源
    最近更新 更多