获取网页的“摘要”

时间:2010-05-31 05:11:00

标签: c# html regex

我有一些毛茸茸的问题,我想生成一段给定网址的“描述”段落,通常是文章的开头。元描述字段是一种方法,但它并不总是好的或设置得当。

公平地说,从屏幕编写的HTML中实现这一点有点问题。我有一个普遍的想法,也许人们可以扫描HTML的第一个“适当的”部分,但很难说这是什么,也许像第一段包含一定数量的文本......

有人有什么好主意吗? :)它不一定是万无一失的

3 个答案:

答案 0 :(得分:6)

所以,你想成为一个新的谷歌,嘿? : - )

现在很多网站都是“SEO友好”。这使您可以查找标题,然后查找下面的段落。

另外,查找列表。在某些类似标签的(制表符,手风琴......)界面中有很多内容是使用有序或无序列表完成的。

如果失败了,可能会找一个“class”或“main”或者组合的div,并从那里开始。

如果您使用不同的方法,请确保记录哪些有效,哪些无效(甚至可以保存整页),以便您查看和调整解析和搜索方法。

作为旁注,我使用htmlagilitypack来解析并成功搜索html。好吧,至少用正则表达式来解析: - )

答案 1 :(得分:2)

也许会查找包含最多div元素的p元素,然后抓住第一个p子元素。如果没有div,请从p元素中获取第一个body

这总会有问题。

答案 2 :(得分:0)

您可以使用此正则表达式删除HTML标记

string stripped = Regex.Replace(textBox1.Text,@"<(.|\n)*?>",string.Empty)

您将获得可用于生成段落的内容文本。