首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BeautifulSoup get_text作为字符串变量的结果?

BeautifulSoup get_text作为字符串变量的结果?
EN

Stack Overflow用户
提问于 2021-03-28 01:18:00
回答 1查看 116关注 0票数 1

我需要从维基百科页面的某个部分收集文本,并将其放入一个字符串变量中。我可以相对容易地找到正确的文本,但是我不知道如何将它放入字符串变量中。

到目前为止我的代码是:

代码语言:javascript
复制
with open('uottawa_wiki.html', 'rb') as infile:
    html_content = infile.read()
    
soup = BeautifulSoup(html_content, 'html.parser')
soup = soup.body
           
campus_subsection = soup.find(id='Campus')

campus_subsection_siblings = campus_subsection.find_parent().find_next_siblings()

for sibling in campus_subsection_siblings:
    if sibling.name == 'p':
        print(sibling.get_text())
    else:
        break

这就是它的输出,非常完美:

大学的主要校区位于桑迪山(C Te)附近。主校区北临ByWard市场区,东邻桑迪希尔住宅区,西南邻尼古拉斯街,紧邻大学西半部的Rideau运河。截至2010至2011学年,主校区占地35.3公顷(87英亩),尽管该校拥有并管理着全市的其他房产,这使得该校的总占地面积达到了42.5公顷(105英亩)--主校区在1856年最终落户前搬了两次。当该机构最初成立时,校园位于圣母院大教堂的旁边。1852年,随着空间成为一个主要问题,校园搬到了一个现在位于加拿大国家美术馆对面的地方。1856年,该机构搬到了现在的地方。

这所大学的建筑年龄不等,从1893年的劳里尔大学(1893年)到2011年的120个大学(社会科学学院,2012年)- 2011至2012学年,建筑的平均年龄为63.32,大学拥有和管理了30座主要建筑,806个研究实验室,301个教学实验室,257个教室和研讨会室。4主校区分为旧的桑迪山校区和2007年购买的里斯校区。虽然李校区不毗邻桑迪山,但它是学校地图上主校区的一部分。34李校园在桑迪山步行距离之内,原来是阿尔冈金学院拥有的一个卫星校园。

但是,我需要所有这些文本,就像它一样(换行和所有)在一个字符串变量中。我不知道该怎么做。

EN

回答 1

Stack Overflow用户

发布于 2021-03-28 01:32:07

只需将其附加到循环中的列表中,然后"\n".join()

代码语言:javascript
复制
paragraphs = []
for sibling in campus_subsection_siblings:
    if sibling.name == 'p':
        paragraphs.append(sibling.get_text())
    else:
        break
full_text = "\n".join(paragraphs)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66837622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档