首页 > 解决方案 > 从提取的文本中删除/排除标签scrapy

问题描述

在使用了 scrapy 和 CSS 选择器后,我尝试从 HTML 中抓取一个段落。该段落包含带有标签的超链接<a ....>text</a>。如果我使用response.css("p::text").get()了,那么超链接不会出现在我的文本中。如果我直接使用此代码如果我使用response.css("p").get()了,那么我会得到包含<a>标签的文本,我无法使用正则表达式将其删除。我想知道无论标签如何获取文本的代码。例如。

我们应该注意到,美国国家过敏症和传染病研究所所长安东尼·福奇博士赞扬了政府对旅行的限制。2020 年 2 月 29 日,他<a href="https://www.whitehouse.gov/briefings-statements/remarks-president-trump-vice-president-pence-members-coronavirus-task-force-press-conference -2/" target="_blank" rel="noopener noreferrer">说</a>:“我们阻止了从中国到美国的旅行。如果我们没有这样做,我们就会有很多很多的病例。在这里,我们将不得不处理。”

正如您在文本提取过程中看到的那样,我想删除或排除标签(如上面的斜体)并使用 CSS 选择器使用 scrapy 获取以下文本

我们应该注意到,美国国家过敏症和传染病研究所所长安东尼·福奇博士赞扬了政府对旅行的限制。2020 年 2 月 29 日,他说:“我们阻止了从中国前往美国的旅行。如果我们不这样做,我们将不得不处理更多、更多的病例。”

标签: pythonhtmlcssscrapy

解决方案


它有帮助吗?

from w3lib.html import remove_tags
remove_tags(my_text)  # print this

推荐阅读