Column

コラム

  • 【API・データ検証奮闘記】#13.Wikipedia AP...
  • API
  • API・データ検証奮闘記
  • Python

【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
モブ1
API!!
モブ2
モブ2
手動!!
モブ3
モブ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

人気のコラムランキング

PICK UP

CMP導入時の注意点

コラム

Treasure Data CDPを活用したOneID(統合ID)構築4 日付の落とし穴

コラム

今、CMPは導入するべきか?

コラム

Treasure Data CDPを活用したOneID(統合ID)構築3 姓名突合での落とし穴

コラム

TOPへ
戻る