3

我习惯于创建一些爬虫来编译信息,当我来到一个网站时,我需要这些信息,我为该站点启动了一个新的爬虫,大部分时间使用 shell 脚本,有时使用 PHP。

我的做法是for对页面列表进行简单的迭代,下载wget它和sed,或其他实用程序来清理页面并获取我需要的特定信息。trawk

所有过程都需要一些时间,具体取决于站点以及下载所有页面的更多时间。而且我经常进入一个让一切变得复杂的 AJAX 网站

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

4

2 回答 2

6

使用正则表达式来解析内容是一个坏主意,这里的问题已经无数次讨论过了。

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

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

于 2009-02-07T02:27:17.220 回答
2

如果你使用 python,Scrapy非常好用。

于 2010-04-05T03:44:05.647 回答