当前位置: 首页 > 知识库问答 >
问题:

是否有一种健壮的、可概括的方法来提取网页上的主要文本简介?

晏正豪
2023-03-14

我正在寻找一种从HTML页面中提取文本简介的方法。挑战是我想要一个方法,将工作,无论网页的结构。这是可以实现的吗?我不仅要清理HTML标记,而且要排除网页上出现的任何图片或链接。

如果我试着像这样阅读完整的网页:

import urllib3
import re

http = urllib3.PoolManager()
response = http.request('GET', 'https://www.federalreserve.gov/newsevents/pressreleases/monetary20210127a.htm')
html_text = response.data.decode('utf-8')
print(html_text)

我得到以下输出:

'\ufeff<!doctype html>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n联邦储备委员会-联邦储备委员会发布FOMC声明\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n grunticon([“/css/icons.data.svg.css”

我只想要这部分:

美联储致力于在这一充满挑战的时刻利用其全套工具来支持美国经济,从而促进其最大限度的就业和物价稳定目标。新冠肺炎疫情正在美国和世界各地造成巨大的人员和经济困难。近几个月来,经济activity和就业的复苏步伐有所放缓,疲软集中在受这一大流行病不利影响最严重的部门。需求疲弱和早些时候油价下跌一直在抑制消费价格通胀。总体金融状况仍保持宽松,部分反映了支持经济的政策措施以及向美国家庭和企业的信贷流动。经济发展的道路将在很大程度上取决于病毒的传播过程,包括疫苗接种的进展。持续的公共卫生危机继续对经济activity、就业和通货膨胀造成压力,并对经济前景构成相当大的风险。委员会力求在较长时期内使就业和通货膨胀率达到2%的最高水平。由于通货膨胀率持续低于这一长期目标,委员会的目标是在一段时间内使通货膨胀率略高于2%,使通货膨胀率在一段时间内平均为2%,长期通货膨胀率预期保持在2%。委员会期望在取得这些成果之前保持宽松的货币政策立场。委员会决定将联邦基金利率的目标区间保持在0%至1/4%,并预计在劳动力市场状况达到与委员会对最大就业率的评估相一致的水平、通货膨胀率升至2%并有望在一段时间内适度超过2%之前,维持这一目标区间将是适当的。此外,美联储将继续每月增持至少800亿美元的国债,每月增持至少400亿美元的机构抵押贷款支持证券,直到在实现委员会的最大就业和价格稳定目标方面取得实质性进展。这些资产购买有助于促进市场的顺利运作和宽松的金融条件,从而支持信贷流向家庭和企业。在评估适当的货币政策立场时,委员会会继续监察最新资料对经济前景的影响。如果出现可能妨碍实现委员会目标的风险,委员会将准备酌情调整货币政策立场。委员会的评估将考虑到广泛的信息,包括关于公共卫生、劳动力市场状况、通货膨胀压力和通货膨胀预期以及金融和国际发展的读数。对货币政策行动投赞成票的是主席杰罗姆·H·鲍威尔(Jerome H.Powell);John C.Williams,副主席;托马斯·I·巴尔金;拉斐尔·W·博斯蒂奇;鲍曼;莱尔·布雷纳德;理查德·H·克拉里达;玛丽C.戴利;埃文斯;夸尔斯;和克里斯托弗·J·沃勒。

共有1个答案

蒋鹏鹍
2023-03-14

您可以使用python requests模块和Beautifulsoup提取这些文本。

import requests
from bs4 import BeautifulSoup
page = requests.get('https://www.federalreserve.gov/newsevents/pressreleases/monetary20210127a.htm').text
soup = BeautifulSoup(page, "lxml")
for item in soup.select("#article div:nth-of-type(3) p")[:-1]:
    print(item.text)
 类似资料:
  • 如果PDF已经以结构化的方式包含要提取的数据,则会更好。类似于HTML的条纹化版本。特别是对于表,有大量的信息丢失。例如,当您将Word文档转换为PDF,然后转换为文本时。 PDF标准提供了一种存储表结构的方法吗?如果没有,是否可以扩展PDF标准?这个过程是什么?

  • 问题内容: 我一直在尝试找出一种将按钮上的文本居中的方法,但是找不到一种简单的,多用途的方法。我可以做到,但它仅适用于某个字符串,不适用于任何字符串。我想知道是否有一种方法可以将任何字符串居中放置在按钮上。在这种情况下,我的按钮是185x50。 我已经能够在屏幕上居中放置此按钮,如下所示: 任何帮助将非常感激。:) 问题答案: 更新了对libgdx版本1.7.1-SNAPSHOT的答案: 最简单的

  • 问题内容: 我正在尝试将长度不定的多个数据列表输出到CSV文件。每个列表应该是输出CSV文件中的一列。有直接的做事方法吗?如果我将每个列表输出为一行,那么我将遍历每个列表并在结束时输出返回值,但是这种方法在按列工作时不起作用。 我曾想过一次逐项检查所有列表并增加一个计数器,但这也会失败,因为有些列表比另一些​​更长。为了解决这个问题,我将不得不在每次迭代时检查计数器是否在每个列表的末尾,这在计算方

  • Unix 至少设立了三层内部边界来防范恶意用户或有缺陷的程序。一层是内存管理:Unix 用硬件自身的内存管理单元(MMU)来保证各自的进程不会侵入到其它进程的内存地址空间。第二层是为多用户设置的真正权限组——普通用户(非 root用户)的进程未经允许,就不能更改或者读取其他用户的文件。第三层是把涉及关键安全性的功能限制在尽可能小的可信代码块上。在 Unix 中,即使是 shell(系统命令解释器)

  • 在Borland VCL库中,几乎所有控件都有提示属性。在运行时,当您将鼠标放在相应的控件上时,当您移动鼠标时,一个带有提示文本的小框会弹出并再次消失,例如Windows资源管理器和其他程序中的帮助消息,当鼠标光标放在按钮上时。 JavaFX中是否有类似的概念(实际上,我使用的是ScalaFX)? 当然,我可以创建一个没有装饰的新舞台,添加一些鼠标监听器等,但是它不是已经在某个地方可用了吗?

  • 问题内容: 目前,我正在研究Java代理以汇编内存统计信息。借助工具API,我可以持有这些类(并对其进行操作)。使用纯Java,我可以估算每个对象使用的资源。到目前为止,一切都很好。 我现在面临的问题是“如何掌握特定类的每个Object实例”。我可以进行字节码操作以获得对象实例的所有权,但是我希望还有另外一个我不知道的API,它可以帮助我完成我的目标而无需进行如此繁琐的干预。最后,应将对性能的影响