从外部URL中提取文本

时间:2010-11-26 15:29:50

标签: c# asp.net parsing

我正在分享像facebook这样的链接功能。目前我正在解析元标记以获取关键字,描述e.t.c但是如何解析这些类型的页面http://en.wikipedia.org/wiki/Wikipedia此页面没有元描述但是facebook仍然提取以下描述: Wikipedia(/ˌwɪkɪpiːdi.ə/或/ˌwɪkipiːdi.ə/WIK-i-PEE-dee-ə)是一个免费的,[3]基于网络的协作式多语言百科全书项目,由非盈利的维基媒体基金会支持。它的1700万篇文章(超过340万英文)是由 周围的志愿者共同撰写的

如果页面上没有找到元描述标签,我该如何提取这样的描述。

4 个答案:

答案 0 :(得分:2)

看起来他们以与Bing相同的方式生成描述,这可能很难轻易地重新创建:

  

Bing如何生成描述   我的网站?

     

您设计网页的方式   内容影响最大   您的网页描述。作为MSNBot   抓取您的网站,它分析   索引网页上的内容和   生成要关联的关键字   每个网页。 MSNBot提取Web   与...最相关的页面内容   关键字,并构建Web   显示在的网站描述   搜索结果。网页内容   通常是句子段   包含关键字或信息   描述标签。网页   标题和URL也被提取出来   出现在搜索结果中。

     

如果更改了Web的内容   页面,您的网页描述可能   下次Bing索引时更改   更新。影响您的网站   说明,确保您的网站   页面有效地提供了   您在搜索中想要的信息   结果。网站站长中心建议   你有以下策略   设计你的内容:

* Place descriptive content near the top of each Web page.
* Make sure that each Web page has a clear topic and purpose.
* Create unique <title> tag content for each page.
* Add a Web site description <meta> tag to describe the purpose of
     

您网站上的每个页面。例如:

> <META NAME="Description"
> CONTENT="Sample text - describe your

http://www.bing.com/toolbox/support/faqs.aspx

一种选择是点击Bing并尝试从那里获取描述。

答案 1 :(得分:1)

如果你想创建一个程序,让你对任意网站有一个很好的描述,你将不得不做一个完整的KI,甚至可能通过图灵测试。如此简短的回答:你做不到。

如果您愿意支付人工智能来为您撰写有关网页的摘要,请谷歌搜索“Microjobs”。您可以创建一个自动化的工作描述,例如“写一个关于网页XY的两句话摘要”,并在其后面加上一些价值。

当然,您可以尝试找到第一段文字并从中取出前N个句子,但这会在很多的网站上失败。

答案 2 :(得分:1)

亚马逊面临着类似的问题,并且有一个相当新颖的solution。显然,它并不完美,但通过将其与Bing使用的想法结合起来,我敢打赌你可以自动生成一些非常可靠且有趣的关键字标签,以配合本身更为可疑的描述。
所以它看起来像:
meta的描述 有趣的句子根据bing \ google
STP作为标签,悬停在上下文中。

我认为,在所有可能的情况下,这就像是在飞翔   它会把你的问题解决到荒谬的程度。

答案 3 :(得分:0)

下载此页面并parse提取您需要的所有内容:

System.Net.WebClient client = new System.Net.WebClient();

String url = "http://en.wikipedia.org/wiki/Wikipedia";

String pageHTMLSource = client.DownloadString(url);

//Parse pageHTMLSource