提问者:小点点

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


我正在寻找一种从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个答案

匿名用户

您可以使用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)