プロフィール

ゆうと

Author:ゆうと

職業:携帯サイトコンサルタント兼フリーエンジニア
503iの時代から携帯サイトの開発にたづさわり、携帯サイトの特性やSEO/SEM、モバイル広告など経験をいかし、プロが作る携帯サイトを実践中。

「みんなのモバイル」を運営てます
http://goo.to/
携帯サイト運営でお困りの方、携帯SEOでお困りの方、システムで困っている方、気軽にご相談ください。



お財布.com - 無料で手軽に貯まる魔法のお財布
ページランク

カテゴリー


ブロとも申請フォーム

この人とブロともになる

携帯サイトを運営している人お友達になりましょう

フリーエリア


最近の記事


月別アーカイブ


ブログランキング


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


| BLOG TOP |
DATE: CATEGORY:wikipediadata
wikipedia Category データのインポート

+redirectテーブルも。

sqlのダンプファイル形式になっているのでインポートは簡単です。
最新のファイルをダウンロードしてインストールするだけ。

wget http://download.wikimedia.org/jawiki/latest/jawiki-latest-category.sql.gz
wget http://download.wikimedia.org/jawiki/latest/jawiki-latest-categorylinks.sql.gz

gunzip jawiki-latest-category.sql.gz
gunzip jawiki-latest-categorylinks.sql.gz

wget http://download.wikimedia.org/jawiki/latest/jawiki-latest-redirect.sql.gz
gunzip jawiki-latest-redirect.sql.gz

mysql corpus < xxx.sql -u [ユーザ名] -p -f


エラーになる場合があるので、-f Force オプションはお忘れなく

wikipedia のデータ構造が人目でわかるこちらを参考にすると便利です。
スポンサーサイト


テーマ : インターネット関連 - ジャンル : コンピュータ

| BLOG TOP |
DATE: CATEGORY:wikipediadata
wikipedia2html


今回は、wikipediaからダウンロードしたデータを元に携帯サイト用のHTMLに変化する話。

まず、wikipediaのデータをhtmlに変換するために、
FSwiki(FreeStyleWiki)をベースにカスタマイズ。
http://fswiki.org/


ここから最新版をダウンロードする。

こんな感じで、wikipedia2htmlっぽいことをしてくれる。
use Wiki;
use Util;
my $wiki = Wiki->new('setup.dat');
my $ret = $wiki->process_wiki(変換したい文章);
$ret = Jcode->new($ret, 'utf8')->sjis;

後は、出力結果を見ながら、携帯サイト用にカスタマイズしたり、wikipediaのデータから得られる情報ごとに
データベースに格納する(例えば、人名だったら、血液型や生年月日を検索しやすいようにデータベース化してしまう)

次回は、wikipediaの更新にあわせた自動更新処理について作成中。


テーマ : 携帯サイト - ジャンル : 携帯電話・PHS

| BLOG TOP |
DATE: CATEGORY:wikipediadata
wikipedia の情報データ要素一覧


wikipedia の情報をダウンロードして、mysqlのテーブルにインポートしたところまでは良いが、
その先、このwikipediaのデータを利用する際に、いったいどんなデータが入っているか分からないとデータを扱えない。

そんな時に非常に役にたつサイトを発見したので記述しておく。

Wikipediaのダウンロードできるデータファイル一覧


テーマ : 携帯サイト - ジャンル : 携帯電話・PHS

| BLOG TOP |
DATE: CATEGORY:wikipediadata
wikipedia のdata情報をダウンロードして利用する方法


wikipedia の情報は無料で配布されています。

■wikipediaの情報のダウンロード方法

Wikipedia:データベースダウンロード
日本語のサイトから、データをダウンロードしてきます。
日本語版:wikipedia
latest(最新)ディレクトリ内の
jawiki-latest-pages-meta-current.xml.bz2 をダウンロードする。だいたい1.2Gほど。

wget http://download.wikimedia.org/jawiki/latest/jawiki-latest-pages-meta-current.xml.bz2

WikipediaのXMLファイルをMySQLデータベースにインポートするには、MediaWiki配布物に含まれるimportDump.phpスクリプトを使用します。
が、こちらのスクリプトで実行するとやや時間がかかるので、今回は、xml2sqlを使ってインポートする
XML形式なので、xml2sqlを利用して、mysqldump 形式にデータを変換。

$wget ftp://ftp.tietew.jp/pub/wikipedia/xml2sql-0.5.tar.gz
$tar xzvf xml2sql-0.5.tar.gz
$cd xml2sql-0.5
$./configure
$make
$sudo make install


インポートする前に、インポート先のデータベース作成します。
データを入れる前にテーブルを作成します。

create database corpus;
use corpus;

CREATE TABLE page (
page_id int unsigned NOT NULL auto_increment,
page_namespace int NOT NULL,
page_title varchar(255) binary NOT NULL,
page_restrictions tinyblob NOT NULL,
page_counter bigint unsigned NOT NULL default '0',
page_is_redirect tinyint unsigned NOT NULL default '0',
page_is_new tinyint unsigned NOT NULL default '0',
page_random real unsigned NOT NULL,
page_touched binary(14) NOT NULL default '',
page_latest int unsigned NOT NULL,
page_len int unsigned NOT NULL,

PRIMARY KEY page_id (page_id),
UNIQUE INDEX name_title (page_namespace,page_title),

-- Special-purpose indexes
INDEX (page_random),
INDEX (page_len)
);

CREATE TABLE revision (
rev_id int unsigned NOT NULL auto_increment,
rev_page int unsigned NOT NULL,
rev_text_id int unsigned NOT NULL,
rev_comment tinyblob NOT NULL,
rev_user int unsigned NOT NULL default '0',
rev_user_text varchar(255) binary NOT NULL default '',
rev_timestamp binary(14) NOT NULL default '',
rev_minor_edit tinyint unsigned NOT NULL default '0',
rev_deleted tinyint unsigned NOT NULL default '0',
rev_len int unsigned,
rev_parent_id int unsigned default NULL,

PRIMARY KEY rev_page_id (rev_page, rev_id),
UNIQUE INDEX rev_id (rev_id),
INDEX rev_timestamp (rev_timestamp),
INDEX page_timestamp (rev_page,rev_timestamp),
INDEX user_timestamp (rev_user,rev_timestamp),
INDEX usertext_timestamp (rev_user_text,rev_timestamp)

) MAX_ROWS=10000000 AVG_ROW_LENGTH=1024;

CREATE TABLE text (
old_id int unsigned NOT NULL auto_increment,
old_text mediumblob NOT NULL,
old_flags tinyblob NOT NULL,

PRIMARY KEY old_id (old_id)

) MAX_ROWS=10000000 AVG_ROW_LENGTH=10240;



さっそく、mysqlの形式に変換。
# bunzip2 -c jawiki-latest-pages-meta-current.xml.bz2 | xml2sql

するとエラーが・・・
unexpected element <redirect>
xml2sql: parsing aborted at line 657 pos 16.

対処方法は、こんな感じ
# bzcat jawiki-latest-pages-meta-current.xml.bz2 | sed -e 's/<redirect \/>//' | xml2sql


サーバのスペックにもよるが、CPUやロードアベレージはあまり使用しない。
約1時間半くらいで実行が終了。

では、インストール開始。
mysqlimport -u username corpus /datadir/*.txt

mysqlimport: Error: Duplicate entry '2-' for key 2, when using table: page
データが重複するとエラーがでます。
forceオプションをつけてエラーを無視します。

mysqlimport -f -u username corpus /datadir/*.txt

インストールは、無事に終了。

次回は、実際のサービスでの利用方法について、記載します。


テーマ : 携帯サイト - ジャンル : 携帯電話・PHS

| BLOG TOP |

copyright © みんなのケータイブログ -携帯マーケティング/携帯SEO/最新携帯サイト情報- all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。