Konference: Počítač SHARP MZ-800 a emulátory

Od: Michal Hučík
Datum: 28.6.2013 14:36
Předmět: Kopie archivu pandory



Tato zprava je crospostovana do konferenci sharpemu a do speccy. Budu rad, kdyz ji budete posilat (alespon odkaze) dle vlastniho uvazeni i do dalsich konferenci na pandore.

Ahoj,

protoze jsem na svou posledni zpravu, kterou jsem zaslal adminum pandory uz neobdrzel zadnou odpoved, tak jsem se vrhnul na ubastleni vlastniho parseru, ktery vyzobe obsah libovolne verejne dostupne konference z jejiho archivu na webu pandory a ulozi jej do smysluplne datove struktury.

Script si sam projde vsechny roky a mesice v konferenci, ale jim parsovat treba jen na konkretni rok, mesic, nebo zpravu. Ukladani obsahu je aditivni, takze po nacteni casti konference do DB muze byt dale aktualizovan obsah databaze podle toho, jak budou na pandore pribyvat prispevky.

Vizualizaci jiz stazeneho archivu konference sharpemu jsem provedl zde http://sharpemu.ordoz.com/

Prozatim je to bez jakychkoliv stylu, jen hole html, takze to vypada ... tak jak to vypada.

Script umi z vebu parsovat:

- hlavicku zpravy (from, date, subject)
- samotne telo
- attachment files (zatim ulozeno jen jako seznam)
- strom vlaken zprav

TODO:

- automaticke stazeni attachmentu
- vyparsovani a stazeni obrazku, ktere jsou soucasti tela zpravy (zrejme jen smailiky :)
- procisteni tela zprav od zbytecneho html balastu
- alespon castecne odstraneni reklam z tela zprav

- automaticke generovani xml exportu pro google search

Pokud se chcete na neco zeptat, tak se ptejte :)
Pokud mate zajem o vygenerovani archivu nejake dalsi konference provozovane na pandore, tak mi dejte vedet.

Vyparsovana data jsou prozatim ulozena do takto rozvrzenych tabulek:

CREATE TABLE `message` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `parent_id` bigint(20) DEFAULT NULL,
  `msgid` varchar(255) NOT NULL,
  `author_name` tinytext NOT NULL,
  `subject` tinytext NOT NULL,
  `msgtime` datetime NOT NULL,
  `body` longtext,
  PRIMARY KEY (`id`),
  UNIQUE KEY `k_msgid` (`msgid`),
  KEY `k_parent_id` (`parent_id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;

CREATE TABLE `attachment` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `message_msgid` varchar(255) NOT NULL,
  `path` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `k_path` (`path`),
  KEY `fk_msgid` (`message_msgid`),
  CONSTRAINT `fk_msgid` FOREIGN KEY (`message_msgid`) REFERENCES `message` (`msgid`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;


S pozdravem -
    Michal Hucik


Ostatní příspěvky vlákna:

 
[2013/1 (17)] [2013/2 (52)] [2013/3 (60)] [2013/4 (68)] [2013/5 (60)] [2013/6 (42)] [2013/7 (9)] [2013/8 (48)] [2013/9 (1)] [2013/10 (40)] [2013/11 (45)]


[1999 (1)] [2000 (168)] [2001 (733)] [2002 (459)] [2003 (654)] [2004 (224)] [2005 (105)] [2006 (182)] [2007 (201)] [2008 (294)] [2009 (363)] [2010 (782)] [2011 (522)] [2012 (642)] [2013 (442)]