毎日テキストマイニング

180日間、毎日テキストマイニングをするブログです

2018/09/22【91日目】自然言語処理100本ノック、その9

29問目です。 APIを使って国旗のURLを取得する問題です。 一応ヒントらしきものがあって、imageinfoを読み出せばいいそうです(意味がわからないですが)。

テンプレートの内容を利用し,国旗画像のURLを取得せよ.(ヒント: MediaWiki APIのimageinfoを呼び出して,ファイル参照をURLに変換すればよい)

取り敢えず、APIを取得します。wikiの中のAPIは全て以下の形で取得できるみたいなので、まずはMediaWikを指定します。

All Wikimedia wikis have endpoints that follow this pattern:https://www.example.org/w/api.php
Examples of Wikimedia Wiki Endpoints
API Endpoint    Wiki
https://www.mediawiki.org/w/api.php MediaWiki API
https://en.wikipedia.org/w/api.php  English Wikipedia API
https://nl.wikipedia.org/w/api.php  Dutch Wikipedia API
https://commons.wikimedia.org/w/api.php Wikimedia Commons API
https://test.wikipedia.org/w/api.php    Test Wiki API
import requests
import json

api = "https://www.mediawiki.org/w/api.php"
hoge = requests.get(api)
print(hoge.text)
<!DOCTYPE html>
<html class="client-nojs" lang="en" dir="ltr">
<head>
<meta charset="UTF-8"/>
<title>MediaWiki API result - MediaWiki</title>
<script>document.documentElement.className = document.documentElement.className.replace( /(^|\s)client-nojs(\s|$)/, "$1client-js$2" );</script>

取り敢えず何かが返ってきました。 それで、問題のパラメーターですね。

元のページは英語なので、Google翻訳をかけます。するとそれらしいものがありました。

iiprop:どのプロパティを取得するには:   
* url:画像のURLと説明ページ。

これを使えば良さそうです。。。。と、思いきや、解決策が全然思い付かず。。。 この問題の答えをググってみるとやたらと長いコードだったので、ちょっとパスします。

やや心が折れかけています。

今日の結果

今日のAKBの呟きは60件でした。 要約するとこんな感じです。

1年前のあの日昇格できた喜びは本当に忘れられません✨これからも、みんなで頑張っていきたいです!!""ぜひ見てください\(^o^)/""iOS12にアップデートしたら・QRコードと計測ができるようになった(°_°)・ミュージックの表示が変わって聴こえる音がクリアになった気がするのは錯覚、、??・タスクバーの消すのが戸惑う!!iPhoneXの人こんな感じですかね??""#マジムリ学園の放送終わりました?
憧れのドラマ出演本当にありがとうございます❤️撮影終わった後素敵なお花を頂きました?
私の好きな水色、チームKの緑。。。本当に嬉しい!!(๑&gt;ᴗ&lt;๑)♥#山根涼羽ちゃん#16期#ハンドメイド#手作り…""ダイヤモンドZAIの勉強会&撮影でした☆今は私も智代梨も個別株に注目してるんだー(^^)2人とも新しく買い増ししたし、最新号も皆さんチェックしてね♪オススメの株があったら是非握手会なんかで教えてください〜\(^o^)/""彩奈と久しぶりにお出かけ!チームラボにいって写真いっぱい撮ってもんじゃ食べてきました?
'すごい': 3, '凄い': 2, 'いい': 2, '寒い': 2, '可愛い': 2, '長い': 2, '嬉しい': 2, '辛い': 1, '悲しい': 1, '難しい': 1, '面白い': 1, 'よい': 1, 'すっごい': 1, '美味しい': 1, '上手い': 1, '新しい': 1, '欲しい': 1, '楽しい': 1
'私': 9, '今日': 9, 'ちゃん': 9, '回': 8, 'お願い': 8, '人': 8, '日': 7, '学園': 6, 'ん': 6, '撮影': 6, 'さん': 6, '応援': 6, 'チーム': 6, 'ラボ': 6, 'こと': 6, '最終': 5, 'よう': 5, '船': 5, '舞台': 5, '昇格': 5, '年': 5, 'みなさん': 5, 'の': 5, 
'する': 49, 'くださる': 15, '見る': 13, '私': 9, '今日': 9, 'ちゃん': 9, '回': 8, 'お願い': 8, '人': 8, '日': 7, '頑張る': 7, '学園': 6, 'ん': 6, '撮影': 6, 'さん': 6, '応援': 6, 'チーム': 6, 'ラボ': 6, 'こと': 6, 'なる': 6, 'ある': 6, 'できる': 6, '最終': 5, 'よう': 5, '船': 5, '舞台': 5, '昇格': 5, '年': 5, 'みなさん': 5, 'の': 5, 'てる': 5, 'られる': 5,


f:id:rimt:20181001142417p:plain