問題タブ [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 - open-uri とループを使用した Ruby EOFError

Webクローラーを構築しようとしていて、ちょっとした障害に遭遇しました。基本的に私がやっていることは、Web ページからリンクを抽出し、各リンクをキューにプッシュすることです。Ruby インタープリターがコードのこのセクションにヒットするたびに:

次のエラーが表示されます。

上記のコード ブロックをコメント アウトすると、エラーは発生しません。よろしくお願いします。残りのコードは次のとおりです。

0 投票する
0 に答える
430 参照

open-uri - open uri エラー: ハッシュを文字列に変換できません

URLからxmlコンテンツを取得したい( http://stackoverflow.comとしましょう)。これにはオープン uri を使用します。私がする時

「ハッシュを文字列に変換できません」というエラーが表示されます。ファイルは必要ありませんでした。ここで私が間違っていることを誰かに教えてもらえますか! Ruby 1.8.7 を使用しています。

0 投票する
1 に答える
511 参照

ruby-on-rails - Heroku で open-uri を使用して rake タスクを実行すると、接続拒否エラーが発生する

データベースにサードパーティ API からのデータを入力する rake タスクを作成しました。

終わり

これは、私のマシンでローカルに実行しているときに完全に機能します。ただし、Heroku インスタンスで実行すると、次のエラーが発生します。

レーキが中止されました! 接続が拒否されました - connect(2)

私は Rails の経験があまりないので、サードパーティの API から正しい方法でデータを取得しているのか、それとも Heroku が私がやっていることを気に入らないだけなのかわかりません。現時点では、私はただ困惑しています。

0 投票する
2 に答える
6451 参照

ruby - `open_http': 403 Forbidden (OpenURI::HTTPError) 文字列 "Steve_Jobs" では禁止されていますが、他の文字列では許可されていません

http://ruby.bastardsbook.com/で提供されている Ruby チュートリアルを行っていたところ、次のコードに遭遇しました。

コードは次のトレースで失敗します。

私の問題は、コードが失敗することではなく、r2 を Steve_Jobs 以外に変更すると、コードが機能することです。ここで何が起きてるの?

0 投票する
6 に答える
4550 参照

ruby - Ruby の open-uri open メソッドでファイル拡張子の画像を開くと失われる

Rails 3.1.4 および Paperclip 2.4.5 と共に ruby​​ 1.9.2 を使用しています。

私の問題は、URI からクリップの添付ファイルを保存しようとすると、ファイル拡張子が失われ、ファイルが保存されずにファイルが保存され、拡張子が必要な fancybox などの問題が発生することです。

いくつかのコード例:

一時ファイルには拡張子がないため、ペーパークリップは拡張子なしでファイルを保存しているため、問題が発生します。

誰かがこの問題に遭遇しましたか? ペーパークリップを使用して URI から画像を保存することについて複数の回答を見てきましたが、私たちが実行しているのと同じ問題に対処しているようには見えません

0 投票する
3 に答える
608 参照

ruby-on-rails - サーバーとローカルホストで Nokogiri の解析が異なる

Nokogiri をローカルで実行している場合とサーバーで実行している場合では、奇妙な違いがあります。私のローカル マシンでは、ドキュメント全体が解析されて利用可能になっているように見えますが、サーバーでは、doctype タブといくつかのランダムなコメント タグを取得しているようです。

まず、open-uri の問題ではないことを確認するためにチェックしました。結果は正確ではありませんが、正しいマークアップが含まれています。

ローカル:

サーバ:

これをローカル マシンで実行すると、次のようになります。

しかし、これをサーバーで実行すると、次のようになります。

gem の明らかな違いは JS コンパイラだけです。他のすべての gem は、ローカルとサーバーの間の正確なバージョンです。

何が起こっているのかを理解したり、これを修正したりする方法はありますか?


更新-問題が実際にどこにあったかを特定するために、サーバーとローカルホストからファイルを取得し、それぞれで実行しました。以下の結果は、問題は間違いなくノコギリにあることを示しています - 問題は何であるか、私はまだ困惑しています...

ローカルで実行:

サーバーで実行中:

0 投票する
8 に答える
3388 参照

ruby-on-rails - スクレイピング「スタック」で 404 エラーを処理するにはどうすればよいですか?

何百万もの URL のバッチ処理を担当する rake タスクがあります。このプロセスには非常に時間がかかるため、処理しようとしている URL が無効になっていることに気付くことがあります (404、サイトのダウンなど)。

私が最初にこれを書いたとき、処理中に継続的にダウンするサイトは基本的に 1 つだけだったので、私の解決策は を使用しopen-uri、生成された例外をレスキューし、少し待ってから再試行することでした。

データセットが小さかったときはこれでうまくいきましたが、今では時間がかかりすぎて、URL がなくなって 404 が生成されることがわかりました。

404 のケースを使用すると、これが発生すると、スクリプトはそこに留まり、無限にループします。明らかに悪いことです。

ページが正常にロードされない場合はどのように処理すればよいですか? さらに重要なことに、これは私が構築した「スタック」にどのように収まりますか?

私はこれと Rails にかなり慣れていないので、この設計でどこが間違っていたのかについての意見を歓迎します!

これは、私が持っているものを示す匿名化されたコードです。

MyHelperModule を呼び出す rake タスク:

MyHelperModule はmy_models、ActiveRecord を受け入れてさらに処理を行います。それは呼び出しますSomeClass

SomeClass経由で Web にアクセスしWebpageHelper、ページを処理します。

WebpageHelper404の場合、例外がキャッチされ、無限ループが開始される場所です。

0 投票する
1 に答える
812 参照

ruby-on-rails - ファイルソースが壊れているRuby on Railsのopen URIの問題

私はここで大変な問題を抱えています。ruby on rails を使用しています: 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 の最初の数行の 1 つから文字列をすばやく取得するにはどうすればよいですか?

私は、Yahoo の株価システムを使用して、オンラインからいくつかの株価を検索する課題に取り組んでいます。残念ながら、私が使用する必要があるYahoo APIは、株が取引された 1 日ごとに 1 行が含まれているように見える .csv ファイルを返します。それらのいくつかの千行()。

ただし、2 行目にある現在の価格だけが気になります。

私は現在これをやっています:

...しかし、それは本当に遅いです。

  1. すべての遅延はファイルの取得によるものですか、それとも私の処理方法によるものですか? io.readファイル全体を読んでいますか?

  2. Yahoo CSV ファイルから最初の数行だけをダウンロードする方法はありますか?

  3. 質問 1 と 2 への回答がこれを無関係にしない場合、ファイル全体を見る必要のない、それを処理するより良い方法はありますか (それが何をしていると仮定しますio.read)?