gpt4 book ai didi

Python BeautifulSoup HTML 解析获取文本

转载 作者:行者123 更新时间:2023-12-01 05:51:16 24 4
gpt4 key购买 nike

我有一个如下所示的 HTML 页面

<section class="entry-content">
<p>...</p>
<p>...</p>
<p>...</p>
</section>

我正在尝试提取 <p> 中包含的文本使用 BeautifulSoup/Python 的标签。这是我到目前为止所拥有的,但我不确定如何“挖掘”到 <p>标签并获取文本。任何建议将不胜感激。

import urllib2
from BeautifulSoup import BeautifulSoup

def main():
url = 'URL'
data = urllib2.urlopen(url).read()
bs = BeautifulSoup(data)

ingreds = bs.find('section', {'class': 'entry-content'})

fname = 'most.txt'
with open(fname, 'w') as outf:
outf.write('\n'.join(ingreds))

if __name__=="__main__":
main()

最佳答案

您可以使用 .stripped_strings 迭代器“向下挖掘”并从标签中获取文本:

section = bs.find('section', {'class': 'entry-content'})
ingreds = [' '.join(ch.stripped_strings) for ch in section.find_all(True)]

我们使用.find_all(True)仅循环包含在section中的标签,而不是直接文本内容(例如换行符)。

请注意,.find_all(True) 将遍历任何嵌套标签,这可能会导致字符串重复。以下仅循环 section 的直接标签:

ingreds = [' '.join(ch.stripped_strings) for ch in section if hasattr(ch, 'stripped_strings')]

关于Python BeautifulSoup HTML 解析获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14244117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com