Wikipedia Title 検索

  • 古いバージョンのスクリプトならここにあったー。
  • tableがよく分からないので、実用的なものを作りたかったらtables.sqlをよく読むこと。


    Wikipedia APIs
    いまひとつ流行ってるものはないので、これだ!というのを作れば、ぼろ儲けできるはず!?
    ぼろもうけできないから誰も何も作らない!?

    Wikipediaの特性とは?… トラスト?階層構造?キーワードにリンク?あるていど定型?

    導入メモ

    Linux上で行う。

    1. WikipediaのデータはXMLで配布されている。Wikipedia:データベースダウンロード
    2. 最新版(YYYYMMDD-pages_articles.xml.bz2)をこちらからダウンロード。
      % wget http://download.wikimedia.org/wikipedia/ja/YYYYMMDD_pages_articles.xml.bz2
    3. xml2sqlのインストール
      % wget ftp://ftp.tietew.jp/pub/wikipedia/xml2sql-0.3.tar.gz
      % tar xvfz xml2sql-0.3.tar.gz
      % make

      expat.hが見つからないとか言われたら(参考ページ
      % wget http://ufpr.dl.sourceforge.net/sourceforge/expat/expat-2.0.0.tar.gz
      % tar xvfz expat-2.0.0.tar.gz
      % cd expat-2.0.0
      % ./configure
      % make
      # make install
    4. xmlをmysqlにインポートできる形に変換する(参考ページ
      # bunzip2 -d YYYYMMDD_pages_current.xml.bz2
      # xml2sql YYYYMMDD_pages_current.xml
      bunzipかbzipかbunzip2かbzip2どれか。ある程度時間かかる
      page.txt, revision.txt, text.txtが作られる
    5. MySQLにデータベースwikipediaを作って、tableをcreate。
      mysql> create database wikipedia;

      # wget http://cvs.sourceforge.net/viewcvs.py/*checkout*/wikipedia/phase3/maintenance/tables.sql
      # mysql -p wikipedia < tables.sql
    6. tableにデータを突っ込む。
      # cp page.txt /var/lib/mysql/wikipedia/
      # cp revision.txt /var/lib/mysql/wikipedia/
      # cp text.txt /var/lib/mysql/wikipedia/
      # mysqlimport -u root wikipedia -p page.txt
      # mysqlimport -u root wikipedia -p revision.txt
      # mysqlimport -u root wikipedia -p text.txt
    7. MySQLの例
      mysql> SELECT page_id FROM page WHERE page_title like '%イチロー%';
      page_id
      10005
      57359
      147367
      254420

      mysql> SELECT rev_text_id FROM revision where rev_page ='10005';
      rev_text_id
      3097605

      mysql> "SELECT old_text FROM text where old_id = '3097605';
      old_text
      '''イチロー'''(英語表記: '''Ichiro'''、本名:'''鈴木 一朗'''('''すずき いちろう''')、[[1973年]][[10月22日]] - )は、[[愛知県]][[西春日井郡]][[豊山町]]生まれの[[野球選手|プロ野球選手]]([[右翼手]])。驚異的にヒットを量産することから'''安打製造機'''、アメリカでは''WIZARD・HITMAN''などと呼ばれる。妻は元[[東京放送|TBS]][[アナウンサー]]の[[福島弓子]]。 == 経歴 == === プロ入り以前 === *[[愛知工業大学名電高等学校|愛工大名電高校]]時代は、[[..............

    8. PHPでMySQLを呼び出すときは、ソースファイルをEUC-JPで保存。
      MySQLからデータを受け取るときは
      mb_convert_encoding($res_str,"EUC-JP","UTF-8")
      MySQLにクエリを渡すときは
      mb_convert_encoding($query_str,"UTF-8","EUC-JP")
    9. tableがよく分からないので、実用的なものを作りたかったらtables.sqlをよく読むこと。
    10. 商用利用に関しては… 書いてあるのを読み上げるアプリケーションの著作権とかどうなるんだ?