I updated my Wikipedia category traffic browser to use the new WikipediaData in 10.1. It shortened the code significantly. I also recently switched to using monthly summary traffic files, instead of using the frequently slow web service that requires you to get the traffic one page at a time. This gave a huge performance increase in exchange for an hour of initialization and 4 GB of memory usage. I now have the luxury to look any category that briefly catches my curiosity.
Recent uses for others:
- A friend from college works at an architecture firm. He learned about several significant, new architects from the most popular articles in the 21st century architects category.
- My sister is going to nursing school. She clicked on Medicine->Medicine in society->Medical scandals and learned about the Chicago Tylenol murders because that article floated to near the top.
Short preview GIF animation below and then code below that. Enjoy!

(* download and extract monthly traffic file from \
http://dumps.wikimedia.org/other/pagecounts-ez/merged/ *)
str = OpenRead[
"E:\\Wiki\\traffic\\Uncompressed\\pagecounts-2015-02-views-ge-5-\
totals"];
(* can take almost an hour to generate the article traffic \
association, uses about 4 GB of memory *)
pageTraffic =
Association@
Reap[While[True,
Read[str, {Word, Word, Number}] //
If[# === EndOfFile, Break[],
If[#[[1]] == "en.z", Sow[URLDecode@#[[2]] -> #[[3]]]]] &]][[
2, 1]];
traffic[category_] := <|"name" -> #,
"traffic" -> pageTraffic@StringReplace[#, " " -> "_"]|> & /@
WikipediaData["Category" -> category, "CategoryMembers"]
updatePages[category_] := (AppendTo[history, category];
pages = traffic[current = category])
updatePages[category_, "Append"] :=
pages = DeleteDuplicates@Join[pages, traffic@category]
history = {}; updatePages@"Main topic classifications"; \
onlyCategories = False;
Panel@Column@{Dynamic[
ToString@
Length@If[onlyCategories,
Select[pages, StringMatchQ[#name, "Category:*"] &], pages] <>
" pages"],
Row@{Button["<", updatePages[current = history[[-2]]];
history = history[[;; -3]],
Enabled -> Dynamic@If[Length@history > 1, True, False]],
InputField[Dynamic[current, updatePages@# &], String],
" Only categories:", Checkbox@Dynamic@onlyCategories},
Pane[Dynamic@
Grid@MapIndexed[{Button["x", pages = DeleteCases[pages, #]],
If[StringMatchQ[#name, "Category:*"],
Button["+",
updatePages[StringDrop[#name, StringLength@"Category:"],
"Append"]; pages = DeleteCases[pages, #]]],
If[StringMatchQ[#[[1]], "Category:*"],
Button[">",
updatePages@
StringDrop[#name, StringLength@"Category:"]]], #2[[1]],
Hyperlink[#name,
"http://en.wikipedia.org/wiki/" <>
URLEncode@StringReplace[#name, " " -> "_"]], #traffic} &,
SortBy[If[onlyCategories,
Select[pages, StringMatchQ[#name, "Category:*"] &],
pages], -#traffic &]], ImageSize -> {500, 600},
Scrollbars -> {False, Automatic}]}