0

我有一个简单的 Rails 应用程序,用于抓取网页。控制器调用刮板实用程序,我在其中使用 watir-webdriver 在无头模式下使用 firefox。该应用程序正常工作并返回结果。我调用应用程序的方式是这样的:

http://somedomain.com:3000/scrapers.json?session=1349426645_562&l=test

它返回一个 json 字符串。

刮板完成大约需要 15 秒。当一个请求正在进行时,当我尝试启动另一个请求时,该请求会排队等待前一个请求完成。我不确定它是对 Rails 应用程序端还是对使用 Xvfb 的 watir-webdriver 或无头 gem 的限制。

任何指针都会有所帮助。

谢谢, 斯里达尔

4

2 回答 2

0

有更好的屏幕抓取库,例如机械化。事实上,有一些应用程序只是为了抓取。

于 2012-10-08T02:08:35.467 回答
0

我发现我可以使用 CGI 模块来完成我的工作。由于我不需要 Rails 应用程序,所以我使用 ruby​​ CGI 调用 ruby​​ 脚本并通过 URL 传递参数。我还可以使用这种方法以非阻塞方式启动多个实例。为了做到这一点,我不得不将我的控制器重新编写为一个独立的 ruby​​ 程序。

于 2012-12-02T14:16:46.443 回答