2012-04-15 113 views
0

我想从网站中提取数据。说,网址是http://www.example.com/。所以我把这个URL放在start_urls(参考文档DMOZ的例子)。但是我也想创建一个图形用户界面,当我输入一个字符串并点击一个按钮时,它会将该字符串附加到start_urls并提取所有可以像这样访问的页面http://www.example.com/computer/page-1。那么你能告诉我如何使用循环来做到这一点?我曾尝试手动将更多网址放在start_urls之间,以检查它是否有效,但不能很好地响应。有时它没有回应。对此有何想法?从网站抓取多个网页

回答

0

如何使用循环做到这一点?

朋友,这将是一些循环。说真的,我会考虑研究现有的开源脚本和应用程序。你很容易能够看到并有一个想法如何完成。那么当然,你可以让任何你想要的更好的。我很确定有很多很多web spidering解决方案的例子。用我有限的工具集,我可能会尝试通过某种类型的bash或perl脚本来控制wget,但这是我的,并不一定有利于许多人。

至于'任务'本身,如果你真的想自己编码,考虑拆分子任务, 有些人会看到2个应用程序来完成这项任务。例如,您可以让一个应用程序存储链接,另一个应用程序可以是“fetcher”,即蜘蛛。

尽量不要用'循环'来思考。在您的项目的这个阶段还没有循环。

如果你在Linux上或者为Windows安装Cygwin/GnuTools,就像我暗示的那样,我强烈怀疑wget可能是脚本化的,通过文本链接列表并获取css,图像甚至js。

当然,一旦所有这些在命令行中都能正常工作,那么您可能需要一个前端以友好的方式访问它。再次取决于您使用的语言/技术堆栈,您将有不同的选择。这是我不会涉及的另一个话题。

希望这有助于,欢呼!

概括地说,你可以搜索Sourceforge上,git的枢纽,谷歌等

0

现有的开源Web蜘蛛ressources根据您的需求,Netwoof能为你做到这一点。可以循环链接,多个resutls页面等......它是完全自动化的,生成API并且甚至可以限定未结合的数据在结构化数据中。