【问题标题】:How to best develop web crawlers如何最好地开发网络爬虫
【发布时间】:2009-02-07 02:15:36
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: web-crawler


    【解决方案1】:

    使用正则表达式来解析内容是一个坏主意,这里的问题已被无数次提及。

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-09
        • 1970-01-01
        • 1970-01-01
        • 2012-01-14
        相关资源
        最近更新 更多