する質問をすることでしか得られない、回答やアドバイスがある。5前提・実現したいことNokogiri、anemone、open-uriを使い、指定したウェブサイトをクローリング、スクレイピングして、画像リンクURLを取得し、そのURLから画像をダウンロードをするために、次のプログラムを書きました。指定したURLにあるlinkから1回のジャンプで辿れる先も見る。正規表現でhttp://nekonekomamire.blog86.fc2.com/に当てはまるurlを指定してます。#正規表現で画像ファイル以外は弾くようにしてます。画像ファイルではないのでスルーします。ここで、URLの画像をダウンロードします。ダウンロードしました。endendこれを実行すると、途中までは普通に画像ファイルをダウンロードしてくれるようなのですが、途中で下記のエラーが出て、止まってしまいます。(NoMethodError)なぜこのようなエラーが出てしまうのでしょうか?どうすれば解決できるでしょうか?ご教授いただけると幸いです。attachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。next_url[0]}require"open-uri"#1:open-uriをrequire(インターネットに接続)require"certified"#2:certifiedをrequire(SSL証明書エラーを避けるためのgem。#7:対象になるページを開いてpage_sourceに入れる。&:readがないとページが読み込まれません。src="(.+?)"|).flatten!=begin#8:page_sourceから画像のurlを正規表現でとる。結果は[[image0.jpg],[image0.jpg]]みたいな配列になる。image1.jpg]という形に変更。/logo|counter|banner|close/}=begin#9:#8でとった画像のurlには要らない画像(バナーなど)のurlが含まれている。いらない画像のurlを見てみると「logo,counter,banner,close」のいずれかが含まれているので該当するimg_urlの要素を削除する。#11:次のページのURLを正規表現でとる。#12:next_urlの最初の要素がnilになったらloopを終了させる。#13:urlにnext_urlを入れる。}私も画像を収集するプログラムを作ってみました。回答を書いている時点で画像を200程保存できています。私はanemoneに詳しくないのでそこについては分かりませんがサイトの方には原因がないような気がします。endend自分のブラウザのキャッシュから画像を手に入れればサイトに接続する必要がないということでこんなプログラムを考えてみました。私はChromeを使っているのでその他のブラウザについてはどうなるかわかりません。Cacheフォルダの画像以外のファイルを削除するようにしているので注意。指定したURLにあるlinkから1回のジャンプで辿れる先も見る。正規表現でhttp://nekonekomamire.blog86.fc2.com/に当てはまるurlを指定してます。#正規表現で画像ファイル以外は弾くようにしてます。ここで、URLの画像をダウンロードします。ダウンロードしました。画像ファイルではないのでスルーします。endendresucueを入れてエラーが出ても一応は止まらないようにしました。これがエラーが出る前のnode.css('a')です。"\u30B3\u30E1\u30F3\u30C8:0">]>]これがエラーが出た時のnode.css('a')です。↓[]これとは別にこのプログラムは同じ画像を何回も保存しているので全ての画像を保存し終わるまでにだいぶ時間がかかると考えられます。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。23:53わざわざプログラムを作ってくださってありがとうございます。h_aさんが作ってくださったプログラムを私のほうで実行させてもらったところ、たしかにエラーもなく、ちゃんと収集してくれているようです。プログラム初心者なのでcertifiedというライブラリについて全く知らなかったのですが、どんなライブラリなのでしょうか?調べてみたのですが、Ruby技術者認定試験などばかりが出てきてよくわからなくて...質問している立場でありながら図々しいかもしれませんが、certifiedを学べるサイトなども教えて頂けると幸いです。プログラムを作ってくださってありがとうございます。h_aさんが作ってくださったプログラムを私のほうで実行させてもらったところ、たしかにエラーもなく、ちゃんと収集してくれているようです。質問している立場でありながら図々しいかもしれませんが、certifiedを学べるサイトなども教えて頂けると幸いです。00:52「certified」はSSL証明書エラーよけのためのGemです。open(url)でSSL証明書エラーが発生する人が使います。2行目の「certified」を削除しても動くようなら「certified」は削除しても問題はありません。「certified」が何を行っているかについては「RubyでHTTPS」(URL:https://mcrn.jp/blog/2015/10/28/205049.html)このページにやってることといえばNet::HTTPとOpenSSL::X509::Storeにモンキーパッチを当てて証明書の指定(※2)証明書検証の必須を自動化してるだけ。SSL証明書エラーの原因も含めた詳しい話はこちらのページが参考になるかもしれません。・Rubyによるクローラー開発技法(URL:http://anou365.blog.fc2.com/blog-entry-52.html)「certified」はSSL証明書エラーよけのためのGemです。open(url)でSSL証明書エラーが発生する人が使います。削除しても問題はありません。