问题标签 [open-uri]

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 投票
2 回答
548 浏览

ruby - 如何计算一个页面的出站链接数量?

使用 Ruby 学习抓取。我正在尝试计算给定页面的出站链接数量,但我不确定如何告诉 Ruby 我只想计算出站链接。

我当前的代码:

我怎样才能完成这个?

0 投票
1 回答
853 浏览

ruby - 带有开放uri和循环的Ruby EOFError

我正在尝试构建一个网络爬虫,但遇到了一些障碍。基本上我正在做的是从网页中提取链接并将每个链接推送到队列中。每当 Ruby 解释器遇到这部分代码时:

我收到以下错误:

如果我注释掉上面的代码块,我不会收到任何错误。请,任何帮助将不胜感激。这是其余的代码:

0 投票
0 回答
430 浏览

open-uri - 打开 uri 错误:无法将哈希转换为字符串

我想从 url 获取 xml 内容(比如说http://stackoverflow.com)。为此,我使用开放 uri。当我做

我收到一条错误消息,提示“无法将哈希转换为字符串”。我不需要任何文件。谁能让我知道我在这里做错了什么!我正在使用 Ruby 1.8.7。

0 投票
1 回答
511 浏览

ruby-on-rails - 在 Heroku 上使用 open-uri 运行 rake 任务会导致连接被拒绝错误

我编写了一个 rake 任务,它使用来自第三方 API 的数据填充我的数据库。

结尾

在我的机器上本地运行时,这非常有效。但是,在 Heroku 实例上运行它会导致此错误:

耙中止!连接被拒绝 - 连接(2)

我承认我对 Rails 不是很有经验,所以我不确定我是否以正确的方式从第三方 API 获取数据,或者 Heroku 是否只是不喜欢我正在做的事情。我只是难住了,此刻。

0 投票
2 回答
6451 浏览

ruby - `open_http': 403 Forbidden (OpenURI::HTTPError) for the string "Steve_Jobs" 但不适用于任何其他字符串

我正在浏览http://ruby.bastardsbook.com/提供的 Ruby 教程,我遇到了以下代码:

代码失败并出现以下跟踪:

我的问题不是代码失败,而是每当我将 r2 更改为 Steve_Jobs 以外的任何内容时,它都可以工作。这里发生了什么?

0 投票
6 回答
4550 浏览

ruby - Ruby open-uri open 方法丢失文件扩展名打开图像

我正在使用 ruby​​ 1.9.2 以及 Rails 3.1.4 和 Paperclip 2.4.5。

我的问题是尝试从 URI 中保存回形针附件会丢失文件扩展名并在没有文件扩展名的情况下保存文件,从而导致需要扩展名的花式框等问题。

一些示例代码:

因为临时文件回形针上没有扩展名,所以在没有文件的情况下保存文件会导致问题。

有没有人遇到过这个问题?我已经看到了多个关于使用回形针存储来自 URI 的图像的答案,但似乎都没有解决我们正在运行的相同问题

0 投票
3 回答
608 浏览

ruby-on-rails - Nokogiri 在服务器与 localhost 上的解析不同

在本地运行 Nokogiri 与在我的服务器上运行它时,我得到了一些奇怪的差异。在我的本地机器上,整个文档似乎可以解析并可用,但在服务器上,我似乎得到了 doctype 选项卡和一些随机注释标签。

首先,为了确保 open-uri 没有问题,我检查了它——结果不准确,但包含正确的标记。

当地的:

服务器:

当我在本地机器上运行它时,我得到了这个:

但是当我在服务器上运行它时,我得到了这个:

唯一明显的 gem 区别在于 JS 编译器 - 所有其他 gem 都是本地和服务器之间的确切版本:

任何想法如何弄清楚发生了什么和/或解决这个问题?


更新 - 为了找出问题的实际出处,我从服务器和本地主机中提取了一个文件,然后在每个文件上运行它们。下面的结果表明问题肯定出在Nokogiri - 问题是什么我仍然困惑......

本地运行:

在服务器上运行:

0 投票
8 回答
3388 浏览

ruby-on-rails - 我的抓取“堆栈”应该如何处理 404 错误?

我有一个 rake 任务,负责对数百万个 URL 进行批处理。因为这个过程需要很长时间,我有时会发现我尝试处理的 URL 不再有效—— 404、站点关闭等等。

当我最初写这篇文章时,基本上只有一个站点在处理过程中会不断关闭,所以我的解决方案是使用open-uri,拯救任何产生的异常,稍等片刻,然后重试。

当数据集较小时,这工作得很好,但现在时间过去了,我发现 URL 不再存在并产生 404。

使用 404 的情况,当发生这种情况时,我的脚本只是坐在那里并无限循环——显然很糟糕。

我应该如何处理页面未成功加载的情况,更重要的是这如何适合我构建的“堆栈”?

我对这个和 Rails 很陌生,所以欢迎任何关于我在这个设计中可能出错的地方的意见!

这是一些显示我所拥有的匿名代码:

调用 MyHelperModule 的 rake 任务:

MyHelperModule 接受my_modelsActiveRecord 并做进一步的事情。它调用SomeClass

SomeClass将通过以下方式访问网络WebpageHelper并处理一个页面:

WebpageHelper是捕获异常并在 404 的情况下启动无限循环的地方:

0 投票
1 回答
812 浏览

ruby-on-rails - Ruby on Rails 打开 URI 问题,文件源损坏

我在这里遇到了一个大问题。我在 rails 上使用 ruby​​:ruby 1.8.7 (2011-12-10 patchlevel 356) rails 2.3.14

我正在尝试在以下地址上使用 open-uri 进行简单的打开:

http://jollymag.net/n/10390 -летни-секс-пози-във-водата.html (链接是NSFW

但是,读取时生成的文件会产生一个奇怪的(损坏的)字符串。这也在 ruby​​ 1.9.3 和 rails 3.2.x 上进行了测试。

我尝试了 Iconv 的东西和其他东西,但没有任何效果。上面的代码或多或少是确切问题的最小孤立案例。

我很感激任何帮助,因为我现在正在尝试解决这个错误几天。

问候, 雅沃尔

0 投票
1 回答
152 浏览

ruby - 如何从远程 URL 的长 CSV 的前几行中快速获取字符串?

我正在执行一项任务,使用雅虎的股票价格系统从网上检索几个股票价格。不幸的是,我需要使用的Yahoo API返回一个 .csv 文件,该文件显然包含该股票交易的每一天的一行,这对于我正在使用的股票来说至少有 5000 行,超过 10其中一些有千行(例如)。

不过,我只关心当前价格,它位于第二行。

我目前正在这样做:

......但它真的很慢。

  1. 是所有延迟都来自获取文件,还是我处理它的方式有一些延迟?正在io.read读取整个文件吗?

  2. 有没有办法只下载 Yahoo CSV 文件的前几行?

  3. 如果问题 1 和 2 的答案没有使这个问题变得无关紧要,是否有更好的方法来处理它而不需要查看整个文件(假设这io.read是在做什么)?