2011-01-05 75 views
4

我要提交谷歌查询像这样:如何使用.net/c#读取Google计算查询结果?

...从C#控制台应用程序,并捕获由谷歌返回报告的结果(和忽略任何链接到其他网站)。有没有特定的Google API可以帮助我完成此任务?

我从工具Launchy(launchy.net)得到了这个想法。插件GCalc这样做,我也发现这个模块的源文件:
http://launchy.svn.sourceforge.net/viewvc/launchy/tags/2.5/plugins/gcalc/gcalc.cpp?revision=614&view=markup

它看起来像GCalc根本不使用任何Google API。但我不知道如何在C#中做同样的事情,我宁愿使用适当的API。但如果没有,我可以使用一些帮助/指针如何将GCalc功能复制到C#(.net库/ classes ...?)

回答

2

使用API​​时,谷歌计算器的结果不显示。所以,如果你想要他们,你必须刮掉页面。请小心,因为这违反了Google的服务条款,所以如果您发送太多频繁的请求,您的IP将被禁止。

获得结果页面后,使用html解析器。结果是<b>标签(例如<b>1 + 1 = 2</b>;如果不存在,则没有计算器结果)。结果中要小心<sup>标签(例如<b>(1 (m^2) kg)/2 = 0.5 m<sup>2</sup> kg</b>)。您可能还想要解码html实体。

0

为什么不使用HTTPWebRequest,然后解析macrog在他的回答中陈述的结果。

+1

为什么发表一个答案说一些已发布的内容?只需提供marcog提供的那个。 – 2011-01-05 13:12:00

+0

@cody macrog没有谈论HTTPWebRequest。可能,我不得不在他的回答中添加这个评论。 – mqpasta 2011-01-05 13:30:37

相关问题