2009-06-18 59 views
1

我想建立一个特定的东西的搜索服务。数据可以通过免费分类服务和其他网站免费获得。搜索引擎是否有任何构建块会刮擦其他网站?

是否有任何积木,例如:我会定制的开源搜索器 - 而不是从头开始构建,我可以使用它吗?

有关构建此类产品的任何建议?不仅仅是技术性的,还有我可能需要考虑的任何隐私/法律事项。

例如如果我从很多地方得到它们,我是否需要在结果来源的地方给出“信用”并将其与原始链接进行链接?

编辑:顺便说一句,我用GWT和JS作为前端,还没有决定后端的语言。无论是PHP还是Python。思考?

回答

2

python中可以使用的块很少。

  1. beautifulsoup [http://www.crummy.com/software/BeautifulSoup/]解析HTML。它也可以处理不好的代码,并且它的API非常简单...比我的任何类似DOM的工具都更好。我的朋友用它来刮擦他的老phpbb论坛成功。它有很好的文档。
  2. 机械化[http://wwwsearch.sourceforge.net/mechanize/]是一个webbrowser模拟http客户端库。它处理饼干,填写表格等。也易于使用,但它可以帮助你了解http是如何工作的。
  3. http://dev.scrapy.org/ - 这是一个相对较新的事物:基于扭曲的整个抓取框架。我没有玩过很多。

我使用前两个为我的需要; F.E.它需要20行代码才能获得用于3阶段轮询的自动测试工具,以及等待用户输入数据的模拟等等。

+0

所以我想这个概念是我会创建一个'屏幕刮板'和解析通过HTML代码并拿出有用的信息,然后将其转储到数据库?这是一般过程吗? – marcamillion 2009-06-18 19:29:20

+0

对我来说,它足够通用......我看到的唯一限制是既没有JavaScript也没有Flash引擎来完全模拟webbrowser。你可以用spidermonkey绑定添加js,但我从不需要这个。 – liori 2009-06-19 21:35:24

0

我在Ruby中制作了一个屏幕刮板,花了5分钟。显然this dude已经下降到60秒!我不确定Ruby是否像您要查找的那样具有可扩展性或快速性,但是我从未见过通向概念验证或原型的更快途径。

秘密是一个名为“hpricot”的图书馆,它就是为此目的而建造的。

我对PHP或Python一无所知,或者对这些开发系统/语言有什么可用。

祝你好运!

+0

所以我想这个概念是我会创建一个'屏幕刮板'和解析通过HTML代码并拿出有用的信息,然后将其转储到数据库? 那是一般过程吗? – marcamillion 2009-06-18 18:43:02

+0

是的,这是主意。 – 2009-06-22 19:41:56