I mocked up an interface to a possible anti-wiki abuse tool.
The idea was to make it easier to delete the kind of spam the ALU Wiki gets, which seems to be from a person using a single IP address, laboriously editing pages and satisfying captchas challenges.
There's some more discussion of the issues at the ALU Wiki Meta-discussion page.
I wanted to use logs of actual spamming efforts to make sure that grouping changes by IP address would in fact be useful, so I scraped the recent changes page. I decided to try Manuel Odendahl's html-match library to assist with the scraping, and despite it taking some time to figure out how to do what I wanted (there isn't much in the way of documentation, at least in English), it ended up saving me a lot of effort.
(html-match:html-pattern (html-match:+or ((:div :id "recentchangesdateheader") ?thing) ((:div :id "recentchangesblock") ?thing)) (let ((day (day-p ?thing))) (if day (setf date-string day) (let ((change (parse-changes ?thing date-string))) (when change (push change changes))))))Posted by jjwiseman at November 23, 2005 06:54 PM