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

IT実務未経験から約1年、東京でフリーランスのRuby on Railsエンジニアに転職。約2年半、大阪中崎町でスリランカカレーの間借りしてました。フリーランスエンジニアになるためのノウハウ、スリランカの事を発信していきます。

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

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


転職を絶対成功させたい、駆け出しエンジニアの方へ


このブログからよく購入されている、

駆け出しエンジニアのマインドセットができるnote2点です↓↓↓


note.com


note.com





こんにちは、mahです。


このブログでは、

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

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


今回は、

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

についてです。


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




【結論】


attribute() を使います。

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


参考リンク


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

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




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


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

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


f:id:mah666hhh:20200615083445p:plain


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

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


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

自分の代わりに、

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


最初の内は、

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

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


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


参考までに、

自分がお世話になっているエージェントを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日間なら返金できる」ので、

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


f:id:mah666hhh:20201129193352p:plain


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

【公式】Udemyで学んでみる




また、

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

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


https://www.malanka.tech/archive/category/Ruby

https://www.malanka.tech/archive/category/Rubywww.malanka.tech




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


今回のコロナで、

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


そこで、

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

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

noteを書きました。


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

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

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

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


note.com