WikiLinkPath="~/projects/complete/WikiLink/trunk/";
AppendTo[$Path, WikiLinkPath<>"mathematica/"];

<<WikiLink`

indexPhp="http://tqft.net/w/index.php";
(*"http://math.berkeley.edu/~scott/w/index.php"*)

CreateWikiConnection[indexPhp,"Scott","umozY1"]

WikiUserName[]

ClearWikiCache[]:=Module[{},
Clear[UserContributionsHTML];
UserContributionsHTML[user_String]:=UserContributionsHTML[user]=Import[indexPhp<>"?title=Special%3AContributions&contribs=user&hideminor=0&namespace=&target="<>user<>"&year=&month=-1&limit=1000","Text"];
FindAllPages[]:=FindAllPages[]=Union@@(FindAllPages/@{"0","1","2","3"})
]
ClearWikiCache[]

AllUserContributions collects a few spurious pages, but mostly seems okay.

UserContributionsHTML["Scott"]

AllUserContributions[user_String]:=Union[StringCases[StringReplace[UserContributionsHTML[user],___~~"<ul>"~~p___~~"<!-- end content -->"~~__:>p], "title=\""~~ShortestMatch[title__]~~"\">":>title]]

AllUserContributions["Scott"]

hostName="tqft.net";

nextPageURL[text_]:=Module[{candidates},candidates=StringCases[text,"<a href=\""~~nextURL:("/w/index.php?title=Special:Allpages&amp;from="~~ShortestMatch[__])~~"\" title=\"Special:Allpages\">Next page":>"http://"<>hostName<>StringReplace[nextURL,"&amp;"->"&"],1];
If[Length[candidates]==0,$Failed,candidates[[1]]]
]

Clear[FindAllPages]
FindAllPages[]:=FindAllPages[]=Union@@(FindAllPages/@{"0","1","2","3"})

FindAllPages[nameSpaceNumber_]:=
Module[{targets={},allPagesURL="http://"<>hostName<>"/w/index.php?title=Special%3AAllpages&from=&namespace="<>nameSpaceNumber,allPagesText,newTargets},
While[allPagesURL=!=$Failed,
Print["Looking at: "<>allPagesURL];
allPagesText=Import[allPagesURL,"Text"];
allPagesURL=nextPageURL[allPagesText];
newTargets=StringCases[allPagesText,"title=\""~~pagename:ShortestMatch[__]~~"\"":>pagename];
Print["Found "<>ToString[Length[newTargets]]<>" new targets."];
targets=targets~Join~newTargets;
];
Complement[targets,{"Special:Allpages"}]
]

FindAllPages[]//TableForm

Length[FindAllPages[]]

(spam=Cases[FindAllPages[],s_/;StringMatchQ[s,p__/;StringLength[p]>40∧StringFreeQ[ToLowerCase[p],"about the"|"yossi"|"jones"|"jython"|"temperley"|"evans"|"wikilink"|"sydney"|"homework"|"maui"|"math"|"generators"|"house"|"local"|"road"|"talk"|"spam"]]])//TableForm

SetDirectory["~/projects/complete/WikiLink/trunk"]

Run/@(("./wikidelete.sh "<>StringReplace[#," ":>"_"])&/@spam)

(spam=DeleteCases[Cases[FindAllPages[],s_/;!StringFreeQ[s,"Personal"]],"Jobs"])//TableForm

Cases[Take[FindAllPages[],All],s_/;!StringFreeQ[Import["http://tqft.net/wiki/"<>StringReplace[s," "->"_"],"Text"],"Has Been Moved"]]

spam=%;

Run[%[[1]]]

Run["open http://tqft.net/wiki/You_ll_figure_it_out_You_hve_a_law_degree_You_can_do_it_51"]

LocatePagesByContent[content_]:=Cases[WikiStringCases[FindAllPages[],content],{title_String,{__}}:>title]

LocatePagesByContent["Omath"]

LocatePagesByContent["<div"~~ShortestMatch[__]~~"/div>"]

LocatePagesByUserAndContent[user_String,spamPattern_]:=Union[Cases[WikiStringCases[AllUserContributions[user],spamPattern],{title_String,{__}}:>title]]

LocatePagesByUserAndContent["Kuza22","wikitiki"]