35 lines
1.2 KiB
Text
35 lines
1.2 KiB
Text
copy "http://rosettacode.org/wiki/Category:Programming_Languages" lang.html, replace
|
|
import delimited lang.html, delim("@") enc("utf-8") clear
|
|
keep if ustrpos(v1,"/wiki/Category:")
|
|
gen i = ustrpos(v1,"title=")
|
|
gen j = ustrpos(v1,char(34),i+1)
|
|
gen k = ustrpos(v1,char(34),j+1)
|
|
gen s = usubstr(v1,j,k-j+1)
|
|
keep if usubstr(s,2,9)=="Category:"
|
|
gen lang=usubstr(s,11,ustrlen(s)-11)
|
|
keep lang
|
|
save lang, replace
|
|
|
|
copy "http://rosettacode.org/mw/index.php?title=Special:Categories&limit=5000" categ.html, replace
|
|
import delimited categ.html, delim("@") enc("utf-8") clear
|
|
keep if ustrpos(v1,"/wiki/Category:") & ustrpos(v1,"member")
|
|
gen i = ustrpos(v1,"title=")
|
|
gen j = ustrpos(v1,char(34),i+1)
|
|
gen k = ustrpos(v1,char(34),j+1)
|
|
gen s = usubstr(v1,j,k-j+1)
|
|
keep if usubstr(s,2,9)=="Category:"
|
|
gen lang=usubstr(s,11,ustrlen(s)-11)
|
|
drop i j k s
|
|
gen i = ustrrpos(v1,"(")
|
|
gen j = ustrrpos(v1,")")
|
|
gen s = usubstr(v1,i,j-i+1)
|
|
gen k = ustrpos(s," ")
|
|
gen t = usubstr(s,2,k-1)
|
|
destring t, gen(count)
|
|
drop v1 i j k s t
|
|
merge 1:1 lang using lang, keep(2 3) nogen
|
|
replace count=0 if missing(count)
|
|
gsort -count lang
|
|
gen rank=1
|
|
replace rank=rank[_n-1]+(count[_n]!=count[_n-1]) in 2/l
|
|
save tasks, replace
|