7

我已经使用 3 种语言进行 Web Scraping - Ruby、PHP 和 Python,老实说,它们似乎都不适合这项任务。

Ruby 具有出色的机械化和 XML 解析库,但对电子表格的支持很差。

PHP 具有出色的电子表格和 HTML 解析库,但它没有 WWW:Mechanize 的等价物。

Python 有一个非常糟糕的机械化库。我有很多问题,但仍然无法解决。它的电子表格库也或多或少不错,因为它无法创建 XLSX 文件。

有什么适合网络抓取的东西吗?

PS:我在windows平台上工作。

4

4 回答 4

2

检查Python + Scrappy,它非常好:

http://scrapy.org/

于 2010-08-12T13:53:54.040 回答
1

简短的回答是否定的。

问题在于 HTML 是一大类格式 - 只有最近的变体是一致的(并且基于 XML)。如果您打算使用 PHP,那么我建议您使用 DOM 解析器,因为它可以处理大量不符合格式良好 XML 的 html。

在你的帖子的字里行间阅读 - 你似乎是:

1) 从需要复杂交互管理的网络中捕获内容

2)将数据解析成一致的机器可读格式

3) 将数据写入电子表格

这肯定是 3 个单独的问题 - 如果没有一种语言满足所有 3 个要求,那么为什么不使用最好的工具来完成这项工作,而只是担心数据的合适临时格式/介质呢?

C。

于 2010-08-12T16:41:27.963 回答
1

为什么不只使用XML 电子表格格式?它的创建非常简单,并且对于任何类型的基于类的系统来说都可能是微不足道的。

另外,对于 Python,您是否尝试过BeautifulSoup进行解析?Urllib+BeautifulSoup 是一个非常强大的组合。

于 2010-08-12T14:43:42.797 回答
0

Python + Beautiful Soup用于网页抓取,并且由于您在 Windows 上,您可以使用 win32com 进行 Excel 自动化来生成您的 xlsx 文件。

于 2010-08-12T14:56:34.793 回答