データスクレイピングで正規表現を使用する方法

現在データスクレイピングで取得したいデータが「class=“timeTable date-20190709”」(20190709は取得日によって可変)というタグでのみ指定可能となっており、決め打ちで指定する必要がある状況です。
そのため、「date-」以降の日付部分をXMLデータ内で正規表現(*)もしくは変数で指定できればいいなと考えているのですが、そのようなことは可能でしょうか?
また、その場合はどのように指定すればよいでしょうか?
同様の問題に遭遇した方、また解決方法をご存知の方がいらっしゃればご回答いただけると幸いです。

(ちなみに、該当事象は某夢の国(ランド、シーどちらも)のレストラン情報より営業時間をスクレイピングしようとすると発生します。。)

1 Like

こんにちは

そのため、「date-」以降の日付部分をXMLデータ内で正規表現(*)もしくは変数で指定できればいいなと考えているのですが、そのようなことは可能でしょうか?

変数や式を組み込むことは可能です。

データスクレイピングウィザード終了後、
ExtractStructureData(構造化データを抽出)アクティビティ内の
ExtractMetadata(メタデータ抽出)プロパティの内容を編集します。
(プロパティのテキストボックスで直接編集する必要があるかと思います。)

例えば
"<extract>.... <webctrl tag='div' class='timeTable date-20190709' idx='1'/>
の部分を

"<extract>.... <webctrl tag='div' class='timeTable date-"+now.ToString("yyyyMMdd")+"' idx='1'/>

のようにします。

いかがでしょうか?

Yoichiさん

早速のご回答ありがとうございます!
式も組み込めると聞いてウキウキでやってみましたが、私の環境ではうまく行きませんでした…
現在使っている端末はマルチページ取得がうまく行かなかったりと不具合が多いため、別の端末でも試してみます!:sob:

ちなみに、変数や式を組み込みたい場合は "+ +"で該当の箇所(式や変数)を囲むという認識であっていますでしょうか?

こんにちは

ExtractMetadata(メタデータ抽出)プロパティは

"<extract> .... </extract>"

のような値になっているかと思いますので

"<extract> .." + [変数] + ".. </extract>"

のようにします。(ダブルクォーテーションの位置などに注意ください。)

なおXMLエディターを起動すると上記の編集ができないと思いますので、プロパティのテキストボックスを直接編集ください。

1 Like

Yoichiさん

なおXMLエディターを起動すると上記の編集ができないと思いますので、プロパティのテキストボックスを直接編集ください。

「…」ボタンを押してXMLエディターを開いてその中で編集しようとして上手くいっていませんでした。。
直接編集したところうまく情報を取得することができました!
XMLエディターでなければ変数の指定も可能ということだったんですね、ありがとうございます!

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.