我想从网站中提取数据。比如说,URL 是http://www.example.com/。所以我把这个网址放进去start_urls
(参考文档中DMOZ的例子)。但是当我输入一个字符串并单击一个按钮时,我还想创建一个 GUI,它将将该字符串附加到start_urls
并提取所有可以访问的页面,例如http://www.example.com/computer/page- 1 . 那么你能告诉我如何使用循环来做到这一点吗?我尝试start_urls
手动输入更多 URL 以检查它是否有效,但响应不佳。有时它没有反应。对此有什么想法吗?
2 回答
你怎么能用循环来做到这一点?
朋友,那将是一些循环。说真的,我会考虑研究现有的开源脚本和执行此操作的应用程序。您会很容易地看到并知道它是如何完成的。然后,当然,你可以让任何你感觉更好的东西,你想要的一切。我很确定那里有很多网络蜘蛛解决方案的例子。使用我有限的工具集,我可能会尝试通过某种 bash 或 perl 脚本控制wget来破解某些东西,但那是我,不一定对很多人有利。
至于“任务”本身,如果您真的想自己编写代码,请考虑拆分子任务,有些人会看到 2 个应用程序执行此任务。例如,您可以让一个应用程序存储链接,而另一个应用程序是“抓取器”,即蜘蛛。
并且尽量不要从“循环”的角度来思考。在您的项目的这个阶段还没有循环。
如果您在 Linux 上或为 Windows 安装了 Cygwin / GnuTools,就像我暗示的那样,我强烈怀疑 wget 可能被编写脚本来执行此操作,请查看文本链接列表并获取 css、图像甚至 js。
当然,一旦所有这些都在命令行中正常工作,那么您可能希望前端以友好的方式访问它。同样取决于您使用的语言/技术堆栈,您将有不同的选择。那是另一个我不会涉及的话题。
希望这会有所帮助,干杯!
简而言之,您可以在 Sourceforge、git-hub、google 等上搜索现有的开源网络爬虫资源。
根据您的需要,Netwoof 可以为您完成。可以循环链接、多个结果页面等......它是完全自动化的,生成 API,甚至可以限定结构化数据中的非结构化数据。