遂にあなたはやり遂げました!ウィークリーチャレンジを解決したのです!
さあ、あなたのアプローチがユニークであることをみんなに示し、
コミュニティでステキなバッジを集める時が来ました。「でも、どうやって?」とあなたは思っているかもしれません。
1)返信 - 解決策を投稿するときは、元の問題の投稿に対して返信することをお勧めします。別のユーザーの解答の返信ボタンをクリックすることもできますが、それはワークフローに関する質問や、特定のユーザーとの会話の始まりのために存在しています。
2) 解答を書く – 解答を構築するときに使用したツールや設定を他の人が見ることができるように、あなたの投稿にワークフローを添付することをお勧めします。「スポイラ(ネタバレタグ)」は人気のあるオプションです。ネタバレタグの挿入アイコンをクリックして、スポイラコンテナを作成できます。ここで挿入した内容はまだ解決していない人にヒントを与えないようにミニ応答ボックスで折りたたまれます。
一般的に、スポイラコンテナにはワークフローの画面キャプチャが挿入されます。カーソルがスポイラボックス内に入っていることを確認し、「カメラ」アイコンを使用して画像をアップロードします。
3)アクティブな状態を維持する - デフォルト設定では、誰かがあなたの投稿に返信したときに通知を受け取ります。お勧めはしませんが、オプトアウトすることもできます。
弊社でWeekly Challengeを教育Programに組み込むことを考えています。英語版の様にIndexを設けて頂きたいので検討をお願い致します。
https://community.alteryx.com/t5/Weekly-Challenge/Weekly-Challenge-Index-amp-Welcome/td-p/48275
近い将来APIに変更が入るので変更後に実行できれば、と検討中です。どうぞしばらくお待ちください。
Kajitaniさん、さすがですね。噂のJSONを使うのでしょうか?WebからのData取得は普段やっていないので…。せめてスポイラだけでも見せてもらっても良いですか?
書いていたら長くなったので、スポイラーに入れてみました。
ご興味のある方はお読み下さい。
やっていることは、いわゆるWEBスクレイピングと呼ばれるものですが、今回はHTMLのTableタグの中身を抜き出すというのが主題になるかと思います。ですので、URLにアクセスしたあとに取得するのはHTMLファイルの中身になります。
のページからは各ページへのリンクとタイトルが取得できるので、インプットをこのページのURLとしてします(コンテンツが増えていて2ページあるので、それぞれのページから取得する必要があります)。
その後、各リンクが取得できたら、各ページよりタグ情報を取得しています。
各ページはTableタグからの取得ではなく、Divタグから取得しています。
まぁ、他の言語でやるときも似たような感じかと思いますが、Alteryxの場合はXMLパースツールでうまく取得できれば勝ち!って感じです(PythonとかだとPandasとかでやる感じです)
全体感は以下のような感じです。
HTMLの構成が変わってしまうとまた作り直しになってしまいますが・・・。
WEBページの作りで結構やり方も変わったりするので、取得したいWEBページに応じて試行錯誤が必要かと思います(最終手段は最初から何文字までを切り取って、みたいな感じになってしまいますかね・・・)。
※英語版のWeeklyChallenge40とかがHTMLから取得するようなケースですね
あと、サーバーに負荷をかけないようにスロットルは入れるのがマナーですね。
※RestAPIとか提供されていれば綺麗なデータがもらえるので非常にありがたいです(RestAPIの場合はJSONもしくはXMLでデータを取得できることが多いかと思います。この場合は素直にデータを取得できます)。
英語版だとBolideなどの前にランクが表示されるので、日本語版も対応いただければと思います。(自分のランクが上がったのかが気づきづらいので。)
PS
Weekly Challengeのリスト、日本語版もそろそろ対応されないですかね?