読者です 読者をやめる 読者になる 読者になる

歩いたら休め

If the implementation is easy to explain, it may be a good idea.

【Python】エロゲトレーラーズAPIで「巫女」のタイトルを持つゲームを検索して、ErogameScapeをスクレイピングして声優を取得する

オープンデータ BeautifulSoup4 Python urllib(urllib2)

エロゲのネットワーク解析とか面白そうだと感じています。こちらはAmazonAPIを使っていますが、最初にエロゲを網羅的にチェックしたり、他のサイトの情報(例えばDMMErogameScape -エロゲー批評空間-)と組み合わせて何か解析したいと思ってもなかなか難しいでしょう。

そんなとき、美少女ゲームなどのトレーラームービーを集めたErogeTrailers - エロゲトレーラーズAPIが役に立つかもしれません。


ErogeTrailersブログ: JSONで出力する検索用API

 

このAPIでは、ゲームの名前や各種サイトのidで検索して、そのゲームの情報を返してくれます。その中にはErogameScape -エロゲー批評空間-Amazon、公式サイトのURLなどが取得できます。げっちゅ屋のidもあります。

げっちゅ〜げっちゅげっちゅげっちゅ〜♪

 

たまにデータが抜けているものもありますが、エロゲで統計解析やろうとしている人には役に立つAPIではじゃないでしょうか?

試しにAPIから「巫女」をタイトルに含むゲームのErogameScapeのidを取り出し、その声優のidをErogameScapeから取ってくるコードを書いてみました。

 

#!/usr/bin/python
#coding:utf-8

import urllib2
import json
from bs4 import BeautifulSoup

searchword = "巫女"

#エロゲトレーラーズAPIからerogamescapeのidを取得する        
trailers_url = "http://erogetrailers.com/api?md=search_game&sw="
access_url = trailers_url + searchword

f = urllib2.urlopen(access_url)
api_open = f.read()
f.close()

api_open = json.loads(api_open)

erogelist = []
for items in api_open["items"]:
    if items["erogamescape"]:
        erogelist.append(items["erogamescape"])
#print erogelist

#ErogameScape -エロゲー批評空間-をスクレイピング
scape_url = "http://erogamescape.ddo.jp/~ap2/ero/toukei_kaiseki/game.php?game="    

for items in erogelist:
    access_url = scape_url + items
    f = urllib2.urlopen(access_url)
    url_open = f.read()
    f.close
    soup = BeautifulSoup(url_open)
    seiyutable = soup.find_all("tr", id="seiyu")
    if seiyutable:
        seiyues = str(seiyutable[0].td)
        seiyues_split = seiyues.split("""<a href="creater.php?creater=""")[1:]
        for seiyu in seiyues_split:
            print seiyu.split('">')[0]