☆ 受講しました Yahoo! Pipes講座08(Dapper情報の取得、FetchPage)

ひとやすみ
ひとやすみ Photo by tomi_kun

だんだん複雑・難解な講座になってきている筈なのですが講師の説明が解りやすいと言うか説得力があるために一つひとつの講座を楽しく受けさせて頂いてます。毎回Pipesが出来上がる度に達成感のようなものを感じさせられて心地よいです。じつのところモノマネをしているにすぎないのですがそれでも回を重ねる毎に少しずつ知識は習得しているのを実感してます。今後はこの知識を活かす知恵も磨かなければいけませんね。

◇1.「Fetch Page」URLに指定したWebページ(≠RSS)を取得する。「Cut content from」と「to」にはHTMLタグ等々 を 記載するとWebページの特定部分を切り出して取得することが出来る。

「Loop」の設定は「emit」の「all」にします。これは、前の値がどうあれ、結果を全てLoopからの結果に置き換える  という意味です。


とありましたが講師のPipesのとおり「first」にしました。講座06で「emit」の場合はどちらでも見え方に変わりがないと書いてあった様な気がします。
◇2.Rename、Regexモジュールで加工してitemを完成させる。以下講師の講座から引用します。

item.os
まずはRenameにて「item.moveos」を「os」にコピー。次にRegexにて「.*iPhone.*」でiPhoneという単語がmoveosのコピーに含まれているかチェック、存在するなら「iPhone」をセット。もし最初のが空振りしていた場合、今度は「.*iPad.*」でiPadという単語が含まれているかチェック。存在するなら「iPad」をセットします。
item.sellersite
HTMLになってしまっている為、タグを取り除いてサイトのURLだけにします。「.*href=”」までの前半部分を空にする。その後、「”.*」以降を空にする。残ったのはサイトのURLだけになる。URLのみ抜き出す王道パターンです。覚えておくと良いかも。
item.category
こちらはリンクじゃなくて文字だけ取りたい。ということで「.*”>」として文字の開始位置までのタグを空にする。次に「」を空にする。このやり方は、リンクの文字だけ抜き出す王道パターンです。覚えておくと良いかも。
item.descnew
textforceのアプリ検索ですと「descnew」は取得できるのですが、何らかの理由で他アプリはdescnewが取れないケースがあります。その場合、手順5の「.*descnew」がヒットせず、descnewにはDapperのHTMLがまんま残り続けます。
取得できなかった場合、HTMLがまんま残るので、元々のHTMLにあった「Dapp:」という記載が残ります。この法則を利用し、「Dapp:」があるなら取得できなかったと判断し、descnewというitemそのものを空にして抹消するようにしてます。

follow us in feedly