23511


Ruby で画像URLをスクレイピングしたいです。

[code]

    <div> 
    <a href="URL" titile="xxx"> 
    <img alt="yyy" src="ここのURLをクスレイピングしたいです> 
    </a>
    
[/code]

以下のように記述しました。

[code]

    require 'mechanize'
    
    agent= Mechanize.new 
    page = agent.get("取得したいサイトURL") 
    elements = page.search('a img')
    
    elements.each do |ele| 
        puts ele.get_attribute('src') 
    end 
    
[/code]

そして、`ruby
scraping_image.rb`をターミナルに記載しENZTERキーを押したのですが、ターミナルにただ大きな空欄が出来るだけで、何も欲しい情報が得られませんでした。  
エラーメッセージ等は表示されませんでした。

違うタグを取得するように記述するべきだったでしょうか？  
お願いします。


CC BY-SA 3.0
2016-03-25T01:58:19.420
23437
2016-03-27T14:07:17.790
2016-03-27T13:35:55.567
3054
14754
question
ruby
画像URLスクレイピング


質問のコードは私の手元でも動きました。間違いは無さそうです。  
下記のように`src`属性だけでなく、要素ごと出力して様子を見るとよいでしょう。  

[code]

    puts ele
    puts ele.get_attribute('src') 
    
[/code]

問題があるとすれば、取得しているWebページの構造です。  
「`a`タグの下に`img`タグがあり、それが`src`属性を持っている」というのが想定する構造ですが、そうはなっていないのでしょう。  
「空欄」が出力されたという事は`img`タグは発見されているが、それに`src`属性が無いか`src`の値が空文字やスペースなのだろうと推測します。


CC BY-SA 3.0
2016-03-27T14:07:17.790
23511
2016-03-27T14:07:17.790
3054
23437
answer