0
Nokogiriを使用して画像URLを抽出しようとしています。 以下のコードは動作しますが、elsifを無限に実行するのではなく、より効率的でスケーラブルな方法で作業したいと思います。動的属性名に一致する
if doc.at_css("img[itemprop='image']")['src']
img = doc.at_css("img[itemprop='image']")['src']
elsif doc.at_css("img[itemprop='image']")['data-src']
img = doc.at_css("img[itemprop='image']")['data-src']
elsif doc.at_css("img[itemprop='image']")['data-react-src']
img = doc.at_css("img[itemprop='image']")['data-react-src']
...
私は両方のアプローチを学ぶしたいと思います:
1)平野Rubyの道を:反復は、[ 'SRC'、 'データ-SRC' のような名前を属性と同じように、 'データ・反応するSRC'、等...]
2)鋸山の正規表現またはXPathの、アプローチ:
'SRC' || 'data-src' || 'データ・反応-SRC
このような:
さらに良いdoc.at_css("img[itemprop='image']")['src' || 'data-src' || 'data-react-src]
、店は変数に属性名:
my_attributes = [' SRCを」|| 'data-src' || 「データ反応-SRC] doc.at_css( "IMG [にitemprop = '画像']")[my_attributes]
3)