2022.05.24 コラム
【API・データ検証奮闘記】#13.Wikipedia APIやってみた
本コラムでは、APIやデータに関連する言語などを無邪気に触ってみた備忘録として、ライトに記載していきます!(連載記事はこちら)
「ちょっと違くない」「他にいい方法あるのに」といったご意見もあるかと思いますが、何卒お手柔らかに!!
<プロフィール>
富松 良介
2017年、株式会社サイバー・コミュニケーションズ(CCI)入社。Oracle Bluekai・Treasure Data等のDMPや、AWS・GCP等のPublicCloud領域を担務。2019年6月よりデータの利活用を推進するコンサルティング会社「株式会社DataCurrent」に出向し、事業会社の基盤構築・運用や自社ソリューション開発を担当。
●Wikipedia APIデータ取得やってみた
ボス
Wikipediaで作品調べたときに右上に出てくる概要表のデータが欲しい。
モブ
かしこまり!!
Wikipwdiaの概要表データ取得の手順から取得した結果までをご紹介致します。
対象 | Wikipedia概要表データ APIリファレンス: https://m.mediawiki.org/wiki/API:REST_API/ja 概要表仕様: https://ja.wikipedia.org/wiki/Help:Infobox |
●ステップ1. どうやって取得できるか調査してみた
モブ1
API!!
モブ2
手動!!
モブ3
スクレイピング!!
モブ
APIで取得することにしよう!!
ボス
それでやってくれ。
●ステップ2. データ取得してみた
早速Pythonでデータを取得してみる。
import requests import bs4 import pandas as pd import re page = '鬼滅の刃' headers = {'User-Agent': 'Sample Header'} url = f'https://ja.wikipedia.org/w/rest.php/v1/page/{page}/html' res = requests.get(url, headers=headers).text soup = bs4.BeautifulSoup(res, 'html.parser') table = soup.findAll("table", {"class":"infobox bordered"}) df = pd.read_html(str(table)) df = pd.concat(df) df = df.dropna(how='any') integration_df = pd.DataFrame(df.values.tolist(), columns = ['key','value']) integration_df.drop_duplicates(subset=['key','value'],inplace=True, keep=False)
●ステップ3. 取得結果
意識高いモブ
ちなみに、Wikipediaのデータはファイルでも提供されているよ!
●最後に
弊社では、定点的なリサーチやトレンドの分析をおこなっています。性別や年代等の属性や検索トレンドのダッシュボード提供等様々なパッケージをご用意しておりますので、お気軽にお問い合わせください。
本データに関するお問い合わせは下記にて承ります。
株式会社DataCurrent
info@datacurrent.co.jp