我可以使用C#自动搜索网站,然后返回搜索结果吗?
有没有一个网络爬虫可以做同样的事情,如果我给它一个顶级域名(例如:我告诉它在stackoverflow.com上找到“有趣”这个词,它就会告诉我每次出现“有趣”的时候)?
这些网站允许通过它们的搜索栏进行搜索。
我是否需要网站协作来自动执行搜索?
注意:我每天只计划做一到两次搜索,所以我怀疑我会被屏蔽,或者被要求进行身份验证。
发布于 2011-08-24 00:22:29
如果你计划在整个网站中爬行来计算这样的单词,如果你不缓存它,你就会被阻止,你基本上是在请求网站的每一页。也许可以考虑整合google的域名搜索功能?
这里有一个指向googles页面的链接,详细介绍了如何与c#交互
http://code.google.com/apis/gdata/client-cs.html
编辑:抱歉,这不太正确:http://gsalib.codeplex.com/
http://answers.oreilly.com/topic/2165-how-to-search-google-and-bing-in-c/
发布于 2011-08-24 00:25:02
...web sites allow searching via their search bar ... Can I use C# to auto search websites, then return the search results?
是的,如果网站提供了一个URL,其中搜索词是作为URL的查询字符串参数提供的。
http://yourTargetDomain?searchterm=foo但是,除非网站专门设计了来自该URL的搜索结果作为结构化数据,否则网站不会“告诉你所有‘有趣的’出现的时间”,而是会向你返回一个适合浏览器显示的搜索响应,所以你必须从这个HTML流中解析出结果。
例如:
http://philadelphia.craigslist.org/search/tls?query=ladder&srchType=A&minAsk=&maxAsk=
发布于 2011-08-24 00:27:04
我会考虑构建一个RSS聚合器。RSS是标准化的,所以这可能是从各种来源收集搜索结果的最可靠的方法。
编辑:适用于不支持RSS的站点
对于那些不支持RSS的站点,您可以考虑使用屏幕抓取器。查看这篇关于代码项目的文章,让你开始吧:
https://stackoverflow.com/questions/7164224
复制相似问题