正在寻找关于网络抓取项目最佳实践的良好教程的建议?

时间:2009-03-26 05:31:24

标签: python ruby screen-scraping beautifulsoup hpricot

我需要做一个涉及网页抓取的相当广泛的项目,我正在考虑使用Hpricot或Beautiful Soup(即Ruby或Python)。有没有人遇到他们认为在这个问题上特别好的教程,这将有助于我从右脚开始项目?

6 个答案:

答案 0 :(得分:9)

我最喜欢的两个Python网页抓取工具是ScrapyMechanize。每个项目都有自己的教程和最佳实践。

答案 1 :(得分:5)

真的不是一个工具,但Michael Shrenk的书Webbots, Spiders, and Screen Scrapers是一个很好的讨论。

该书在其既定任务中取得了很好的成功:解释如何构建简单的Web机器人并按照社区标准进行操作。这不是你需要知道的一切,但这是我见过的最好的介绍。重点是简单的单线程机器人。稍微提到使用多个机器人将数据存储在中央存储库中,但是没有讨论编写可以每秒处理数百页的多线程或分布式机器人所涉及的问题。

如果您对编写Web机器人感兴趣,即使您不熟悉或打算使用PHP,我建议您阅读本书。但请确保不要超过本书提供的内容。

答案 2 :(得分:4)

使用lxml代替BeautifulSoup。尽管它的名字,它也用于解析和抓取HTML。它比BeautifulSoup快得多,它甚至比BeautifulSoup更好地处理“破碎”的HTML(他们声称自己声名鹊起 - lxml并不像它那样直言不讳)。如果您不想学习lxml API,它还有BeautifulSoup的兼容性API。

Ian Blicking agrees

没有理由再使用BeautifulSoup了,除非您使用的是Google App Engine或其他不允许使用Python的东西。

答案 3 :(得分:3)

答案 4 :(得分:2)

ScrAPI上有一个很棒的Railscasts episode

答案 5 :(得分:0)

对于Ruby,Scrubyt web-scraping工具包非常出色。这是an extensive introduction,即使您将使用其他工具,也值得一读。