问题标签 [anemone]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
157 浏览

ruby - 运行 Ruby Anemone 时 Heroku H12 请求超时

我有一个托管在 Heroku 上的 Ruby 应用程序,它在用户指定的域上运行 Anemone(Ruby 网络蜘蛛/爬虫)。当用户选择中型到大型域时,它会崩溃并且日志显示 H12 错误(请求超时)。

这是因为 Anemone 需要一段时间才能运行(>30 秒),并且在运行时没有反馈给用户。有没有办法让 Anemone 向用户显示更新,或者合并状态栏?有什么方法可以防止网站崩溃?我在 Anemone 文档中没有看到任何允许“逐段”爬取域的方法,但我必须做些什么。

https://devcenter.heroku.com/articles/error-codes#h12-request-timeout
http://anemone.rubyforge.org/

0 投票
1 回答
141 浏览

ruby - 如何使用 Anemone / Nokogiri 网络刮刀处理 NIL?

在 Anemone 中编写刮板,它在引擎盖下使用 Nokogiri..

有时选择器.details h2'不返回任何内容,因为它不在 HTML 中,并且调用text它会引发异常。

我想避免到处都是 if/else ...

有没有更雄辩的方法来处理由不一致的标记产生的错误?例如 CoffeeScript 有存在操作符person.name?.first()。如果 HTML 包含该元素,则最好制作该对象并在其上调用文本。如果没有,请继续前进,不要将其添加到哈希中。

0 投票
2 回答
1305 浏览

ruby - 使用 anemone gem 获取所有 URL(非常大的站点)

我要索引的网站相当大,有 1 万页。我真的只想要一个包含所有 URL 的 json 文件,这样我就可以对它们运行一些操作(排序、分组等)。

基本的海葵循环运行良好:

但是(因为站点大小?)终端在一段时间后冻结了。因此,我安装了 MongoDB 并使用了以下

它现在正在运行,但是当我早上回来时,如果 json 文件中有输出,我会感到非常惊讶 - 我以前从未使用过 MongoDB,而且海葵文档中关于使用存储的部分并不清楚(对我来说至少)。之前做过这件事的人可以给我一些提示吗?

0 投票
2 回答
1502 浏览

ruby-on-rails - 如何使用 Anemone、Boilerpipe 和 Nokigiri 处理 500 内部服务器错误和 404 页面未找到

我正在实现一个需要抓取网站的工具。我正在使用 anemone 进行爬网,并且在每个 anemone 的页面上,我使用boilerpipe 和 Nokogiri 来管理 HTML 格式等。

我的问题是:如果我得到 500 Internal Server Error,它会使 Nokogiri 失败,因为没有页面。

在上述情况下,如果出现 500 Internal Server Error,应用程序将在 Nokogiri::HTML.parse() 上给出错误。我想避免这个问题。如果服务器给出错误,我想忽略此页面继续计算。

有什么方法可以使用这些工具处理 500 Internal Server Error 和 404 Page Not Found?

亲切的问候,雨果

0 投票
1 回答
110 浏览

ruby - 将 URL 结构与 Anemone 匹配

现在,我正在对 Anemone 执行以下操作:

但我想做    

而是只从这样的 URL 爬取:

http://www.findbrowsenodes.com/us/Apparel/1036682 http://www.findbrowsenodes.com/us/Apparel/1040664 http://www.findbrowsenodes.com/us/ArtsAndCrafts/2617942011 http://www .findbrowsenodes.com/us/Baby/165797011

有什么想法吗?

0 投票
1 回答
207 浏览

ruby - 无法访问页面数据,使用带有 socksify gem 和 Tor 的海葵

我使用 anemone gem 编写了一个 ruby​​ 脚本来抓取网站。该脚本在直接使用时运行良好。

但我想使用 socksify gem,以便脚本中的所有 TCP 调用都使用 socks5 路由。我做了同样的事情:

  1. 安装并启动 Tor 项目,它正在我的机器上运行
  2. 安装了socksify gem
  3. 运行这里socksify_ruby localhost 9050 myscript.rb给出的以下命令

然而,在这种情况下 anemone 没有检测到任何页面。请让我知道我在做什么错误。

0 投票
1 回答
1477 浏览

ruby-on-rails - 将循环的输出从 Ruby 网络爬虫 gem 写入文本文件

我是一个完整的 Ruby 菜鸟,目前正在学习 Treehouse 教程,但我需要一些快速帮助来将 Anemone 爬行的内容输出到我的工作的文本文件中(我是 SEO)。如何获得以下内容以将其输出转储到文本文件中?

非常感谢您的帮助!

0 投票
1 回答
1334 浏览

ruby-on-rails - rails中的网络爬虫,如何爬取网站的所有页面

我需要从给定域的所有页面中获取所有 url,
我认为使用后台作业是有意义的,将它们放在多个队列
中尝试使用cobweb但它似乎非常令人困惑 gem,
并且anomone, anemone 工作了很长时间如果有很多页面

你认为什么最适合我?

0 投票
2 回答
175 浏览

ruby - Anemone Ruby spider - 创建没有域名的键值数组

我正在使用Anemone来蜘蛛一个域,它工作正常。

启动爬网的代码如下所示:

这很好地打印出域的所有页面 url,如下所示:

我想做的是使用 url 的最后一部分作为键创建一个键值对数组,并使用 url '减去域'作为值。

例如

抱歉,如果这是基本的东西,但我是 Ruby 新手。

0 投票
3 回答
673 浏览

google-analytics - 使用自定义爬虫防止虚假分析统计

有没有办法通过使用 PhantomJS 和/或像Anemone这样的 ruby​​ 爬虫来防止伪造的 Google Analytics 统计数据?

我们的监控工具(基于两者)从我们的客户那里抓取网站并更新特定域中每个链接的链接状态。

这个问题模拟了巨大的流量。

有没有办法用 cookie、标题或其他东西说“我是机器人,不要跟踪我”之类的话?

(将爬虫 IP 添加到 Google Analytics [作为过滤器] 可能不是最佳解决方案)

提前致谢