我正在使用Python 3.6.3在Goodreads页面上使用以下HTML代码段:
<div class="quoteText">
“Don't cry because it's over, smile because it happened.”
<br/> ―
<a class="authorOrTitle" href="/author/show/61105.Dr_Seuss">Dr. Seuss</a>
</div>, <div class="quoteText">
我使用BeautifulSoup来抓取HTML并仅隔离上面代码段中看到的“quoteText”类。现在,我想将引号和作者名称保存为单独的字符串。我能够使用
获取作者姓名(quote_tag.find(class_="quoteText")).text
我不知道如何为报价做同样的事情。我猜我需要一种方法从输出中删除子类并尝试使用提取方法。
quote.extract(class_="authorOrTitle")
但是我收到一条错误消息,提到了一个意外的关键字参数'class_' 还有其他办法可以做我想做的事吗?
这是我第一次在这里发帖,所以如果帖子不符合特定的特殊性/格式/其他标准,我会道歉。
答案 0 :(得分:1)
PageElement.extract()从树中删除标记或字符串。它 返回提取的标记或字符串
from bs4 import BeautifulSoup
a='''<div class="quoteText">
“Don't cry because it's over, smile because it happened.”
<br/> -
<a class="authorOrTitle" href="/author/show/61105.Dr_Seuss">Dr. Seuss</a>
</div>, <div class="quoteText">'''
s=BeautifulSoup(a,'lxml')
s.find(class_="authorOrTitle").extract()
print(s.text)