问题标签 [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.
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/
ruby - 如何使用 Anemone / Nokogiri 网络刮刀处理 NIL?
在 Anemone 中编写刮板,它在引擎盖下使用 Nokogiri..
有时选择器.details h2'
不返回任何内容,因为它不在 HTML 中,并且调用text
它会引发异常。
我想避免到处都是 if/else ...
有没有更雄辩的方法来处理由不一致的标记产生的错误?例如 CoffeeScript 有存在操作符person.name?.first()
。如果 HTML 包含该元素,则最好制作该对象并在其上调用文本。如果没有,请继续前进,不要将其添加到哈希中。
ruby - 使用 anemone gem 获取所有 URL(非常大的站点)
我要索引的网站相当大,有 1 万页。我真的只想要一个包含所有 URL 的 json 文件,这样我就可以对它们运行一些操作(排序、分组等)。
基本的海葵循环运行良好:
但是(因为站点大小?)终端在一段时间后冻结了。因此,我安装了 MongoDB 并使用了以下
它现在正在运行,但是当我早上回来时,如果 json 文件中有输出,我会感到非常惊讶 - 我以前从未使用过 MongoDB,而且海葵文档中关于使用存储的部分并不清楚(对我来说至少)。之前做过这件事的人可以给我一些提示吗?
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?
亲切的问候,雨果
ruby - 无法访问页面数据,使用带有 socksify gem 和 Tor 的海葵
我使用 anemone gem 编写了一个 ruby 脚本来抓取网站。该脚本在直接使用时运行良好。
但我想使用 socksify gem,以便脚本中的所有 TCP 调用都使用 socks5 路由。我做了同样的事情:
- 安装并启动 Tor 项目,它正在我的机器上运行
- 安装了socksify gem
- 运行这里
socksify_ruby localhost 9050 myscript.rb
给出的以下命令
然而,在这种情况下 anemone 没有检测到任何页面。请让我知道我在做什么错误。
ruby-on-rails - 将循环的输出从 Ruby 网络爬虫 gem 写入文本文件
我是一个完整的 Ruby 菜鸟,目前正在学习 Treehouse 教程,但我需要一些快速帮助来将 Anemone 爬行的内容输出到我的工作的文本文件中(我是 SEO)。如何获得以下内容以将其输出转储到文本文件中?
非常感谢您的帮助!
ruby - Anemone Ruby spider - 创建没有域名的键值数组
我正在使用Anemone来蜘蛛一个域,它工作正常。
启动爬网的代码如下所示:
这很好地打印出域的所有页面 url,如下所示:
我想做的是使用 url 的最后一部分作为键创建一个键值对数组,并使用 url '减去域'作为值。
例如
抱歉,如果这是基本的东西,但我是 Ruby 新手。
google-analytics - 使用自定义爬虫防止虚假分析统计
有没有办法通过使用 PhantomJS 和/或像Anemone这样的 ruby 爬虫来防止伪造的 Google Analytics 统计数据?
我们的监控工具(基于两者)从我们的客户那里抓取网站并更新特定域中每个链接的链接状态。
这个问题模拟了巨大的流量。
有没有办法用 cookie、标题或其他东西说“我是机器人,不要跟踪我”之类的话?
(将爬虫 IP 添加到 Google Analytics [作为过滤器] 可能不是最佳解决方案)
提前致谢