如何最好地开发网络爬虫

时间:2009-02-07 02:15:36

标签: web-crawler

我习惯于创建一些爬虫来编译信息,当我来到一个网站时,我需要信息我开始一个特定于该网站的新爬虫,大部分时间和PHP使用shell脚本。

我的方法是使用简单的for来迭代页面列表,wget下载它并sedtrawk或其他实用程序来清理页面并获取我需要的特定信息。

所有过程都需要一些时间,具体取决于网站和更多下载所有页面。我经常走进一个让所有事情变得复杂的AJAX网站

我想知道是否有更好的方法可以做到这一点,更快的方式甚至是某些应用程序或语言来帮助完成这些工作。

2 个答案:

答案 0 :(得分:6)

使用正则表达式解析内容是一个糟糕的主意,这已经无数次地在问题中讨论了。

您应该将文档解析为DOM树,然后您可以提取所需的任何超链接,样式表,脚本文件,图像或其他外部链接,并相应地遍历它们。

许多脚本语言都有用于获取Web页面的包(例如用于PHP的curl)和用于解析HTML的包(例如,用于Python的Beautiful Soup)。走那条路,而不是正则表达式匹配的hackky解决方案。

答案 1 :(得分:2)

如果你使用python,Scrapy很棒很容易使用。