スリ飯屋MaLankaのフリーエンジニアな日々

このブログでは、フリーランス4期目となる自身の実体験から、フリーランスエンジニアになるためのノウハウ、ブログやプログラミング技術、沖縄移住やリモートワークライフについて発信しています。

【Rubyでスクレイピング】Seleniumでdata属性を取得

【Rubyでスクレイピング】Seleniumでdata属性を取得


こんにちは、現役沖縄フリーランスエンジニアのmah(MaLanka)です。


このブログでは、

自分がIT未経験から約1年でフリーランスエンジニアになるまでの過程、

ノウハウなどを書いていきます。


今回は、

  • 【Rubyでスクレイピング】Seleniumでdata属性を取得

についてです。


【Rubyでスクレイピング】Seleniumでdata属性を取得




【結論】


attribute() を使います。

attribute('data-XXX') のような形です。


参考リンク


File: README — Documentation for selenium-webdriver (4.5.0)

RubyでSeleniumを使ってスクレイピング - Qiita


例、特定の要素の、data-remarks の値を取得する


# ブラウザ起動
driver = Selenium::WebDriver.for :chrome

# 対象のURLへ遷移する。戻り値はnil
driver.navigate.to 'https://hoge.com'

# data-remarksというプロパティを持つ要素を全て取得。戻り値は取得出来た要素の配列
driver.find_elements(:xpath, "//*[@id='search']/div[1]/div[2]/div/span[4]/div[1]/div[#{i + 1}]")[0].attribute('data-remarks'))


これで、data-XXXの値を取り出すことが出来ます。




以上、

  • Seleniumでのスクレイピングで、xpathを使ってdata-XXXのような属性の値を取得する方法

でした。


RubyでのスクレイピングはNokogiriでいいかと思ったんですが、


Nokogiriだと4〜6割の確率でページネーションを取得できない場合があります。


という情報があったので、

怖すぎるなと思いseleniumを使うことにしました。


  • 引用元

http://smot93516.hatenablog.jp/entry/2019/01/11/132312




初めての方はこちらのオススメ記事もどうぞ


note.com


www.malanka.tech


www.malanka.tech


www.malanka.tech


www.malanka.tech




フリーランスエンジニアになりたい方はこちら


フォスターフリーランスという、

フリーランス専門エージェントを使うのがおすすめです。



自分もフォスターフリーランスを使って、

フリーランスエンジニアとしてのキャリアをスタートさせました。


フォスターフリーランスを使うと、

自分の代わりに、

プロの営業さんが案件を探してくれます。


最初の内は、

自分で営業なんてとても出来ないので、

非常にありがたかったです。


しかも無料で利用できる。


参考までに、

自分がお世話になっているエージェントを2つご紹介しておきます。


話を聞くだけでもOKなので、

ぜひ利用してみてください。


フォスターフリーランス【案件保有数5000件以上。業界25年の超老舗】

無料でフォスターフリーランスに登録


下記の記事で、

フォスターフリーランスの特徴について解説しています。


www.malanka.tech







RailsやRubyを学びたい人へ


RailsやRubyを学びたい人は、

RailsHack(レイルズハック)という、

最近できた新しいプログラミングスクール(今なら通常価格69,800円が、早期割で29,800円!)か、

Udemy で下記のコースを受講すると良いです★


✅1. フルスタックエンジニアが教える 即戦力Railsエンジニア養成講座

✅2. 【はむ式】ハンズオンで学ぶRuby on Rails 6【Dockerにも触れられる】 <- おすすめ。ハムさんはReactやTypeScriptの教材も非常に丁寧。

✅3. はじめてのRuby on Rails入門-RubyとRailsを基礎から学びWebアプリケーションをネットに公開しよう




また、

Udemy は定期的にセールをやっていますし(90%OFFとかもザラ)、

「30日間なら返金できる」ので、

満足できなかった時でも安心です。



【公式】RailsHack(レイルズハック)

【公式】Udemyで学んでみる




また、

Ruby関連の過去記事は下記にありますので、

合わせてチェックしてみてください◎


技術関連-Ruby カテゴリーの記事一覧 - スリ飯屋MaLankaのフリーエンジニアな日々

www.malanka.tech




フリーランスエンジニアのデメリットはこちら


今回のコロナで、

参画していたプロジェクトが終了し、被害を受けました。


そこで、

コロナ被害を受けて感じている、

フリーランスエンジニアのデメリット【6つ】について、

noteを書きました。


下記に当てはまる人に、参考になると思います。

現在、フリーランスエンジニアとして生きている人

今からフリーランスエンジニアになろうとしている人

フリーランスエンジニアだが、コロナの影響で仕事が途絶えた人


https://note.com/malanka666/n/n081d40a196bfnote.com