前提・実現したいこと
Rubyにて、Mechanizeというgemを使って、下記サイトをスクレイピングし、添付の赤枠部分のテキスト、URLを取得し、取得したテキスト、URLを出力できるようにしたいと考えております。
赤枠部分のデータ取得がうまくいかず、困っております。
アドバイスいただけると幸いです。
※該当のサイトURL
https://www.jpnsport.go.jp/nishigaoka/tabid/127/Default.aspx
発生している問題・エラーメッセージ
下記コードの()内に入れるコードが不明です。
latestArticles = current_page.search(' ')
該当のソースコード
ruby
1require 'mechanize' 2 3agent = Mechanize.new 4agent.user_agent_alias = 'Windows IE 9' 5 6CodeZineTopURL = 'https://www.jpnsport.go.jp/nishigaoka/tabid/127/Default.aspx' 7current_page = agent.get(CodeZineTopURL) 8 9latestArticles = current_page.search('ここにいれるコードが不明') 10 11latestArticles.each do | article | 12 puts "#{ article.inner_text }: #{ CodeZineTopURL + article[:href] }\n" 13end
試したこと
こちらの記事を参考に、下記コードを入れてみましたが、うまくいきませんでした。
https://qiita.com/Atsuyoshi-N/items/096620127da45f99179d
>試したコード
dnn_ctr541_Event_grdPresentMonth > tbody > tr:nth-child > td:nth-child > a dnn_ctr541_Event_grdPresentMonth tbody tr td '//*[@id="dnn_ctr541_Event_grdPresentMonth"]/tbody/tr/td'
補足情報(FW/ツールのバージョンなど)
<table/> のクラスが「event-calendar」となっているので、そこから情報を取得できませんか?
セレクタについて不明な点があれば、たとえば CSS Diner のようなページで楽しく学ぶことができます : https://flukeout.github.io/
アドバイスありがとうございます!
「'table.event-calendar td a'」で取得できました。
※CSS Dinerを参考に勉強します。
解決した場合、他者の回答ないし自己回答として内容をまとめて それをベストアンサーに設定することで、この質問を解決済みにすることができます
色々とありがとうございます。
goufさんのコメントをベストアンサーにしたいのですが、こちらの欄は選択できないのですねm(_ _)m
回答1件
あなたの回答
tips
プレビュー