MediaWikiサイトを実装しましたが、残念なことに、誰かが何千ものユーザーを介して何千ものページを作成しました。
これらのユーザーが作成した、私のページを除くすべてのページを削除するには、どのクエリを実行できますか?
MediaWikiページはMediaWikiデータベース内のwiki_page
およびwiki_text
にありますが、それらのページを作成したユーザーに関するフィールドはありません。
最大のテーブル:
wiki_text
:682MBwiki_externallinks
:162.5 MBwiki_recentchange
:95 MBwiki_page
:43 MB
ここ 、私の問題に対する可能な答えを見つけましたが、最初のステップでブロックされています:
「あなたが作成した記事をエクスポートする(おそらくWikiSysopユーザーまたは同様のものとしてログインしている)」
テーブルにページを作成したユーザーに関するフィールドがない場合、自分で作成した記事をエクスポートするにはどうすればよいですか?
Pythonを知っている(または学ぶことを恐れない)場合は、 pywikibot でこれにアプローチする必要があります。
wiki.allpages()
をループして、ページを削除するかどうかを決定するロジックを追加できます。良い基準:
(興味がある場合は、ここにPython行をいくつか追加できます。お知らせください。)