如何从网站html获取句子

时间:2011-03-03 11:08:14

标签: php

您好我想从html文档中提取所有句子。我该怎么做?因为有很多条件,比如首先我们需要剥离标签,然后我们需要识别可能结束的句子。要么 ?要么 !也可能有电子邮件地址和网站地址等条件。在他们中我们如何制作这样的剧本?

2 个答案:

答案 0 :(得分:6)

它叫做编程;)。首先将任务划分为更简单的子任务并实现它们。例如,在您的情况下,我将设计这样的程序:

  1. Download and parse the HTML document
  2. 提取所有文字内容(特别注意<script><style>元素)
  3. 将文字内容合并为一个长字符串
  4. 解决在字符串中查找句子的问题(可能只是解析,直到你在“。!?”中找到一个停止字符,然后开始一个新句子)
  5. 弃掉误报(如空句,数字句等)。

答案 1 :(得分:0)

首先,您应该删除某些标签,这些标签是内联格式化元素,如:

I <b>strongly</b> agree.

但是你应该留下块级元素,比如 DIV P ,因为有更强的分隔符。 ?和!

然后您必须处理这些块级元素中的内容。通常有一个单词的导航链接,您可能希望稍后将其过滤掉,因此剥离文档的块结构不是正确的选择。

此时,您可以安全地使用正则表达式模式来识别块:

>([^<]+)<

当你有你的积木时,你可以过滤掉短的(导航元素)并使用你的句子分隔符去掉大的(文本段落)。

有一个有趣的问题,当一个持续时间字符表示判决的结束时,它只是一个小数点,但我把它留给你。 :)