Jump to content

Rosetta Code/Rank languages by popularity: Difference between revisions

Julia Web Scraping
(Ranking updated)
(Julia Web Scraping)
Line 2,479:
Language WikiStubs can be ranked #25 at 614.
...
</pre>
 
===Julia: Using web scraping===
{{trans|Python}}
<lang Julia>
using HTTP
using Dates
response = HTTP.request("GET", "http://rosettacode.org/wiki/Category:Programming_Languages")
languages = Set(m.captures[1] for m in eachmatch(r"title=\"Category:(.*?)\">",String(response.body)))
response = HTTP.request("GET", "http://rosettacode.org/mw/index.php?title=Special:Categories&limit=5000")
response = replace(String(response.body),r"," => "")
reg = r"<li><a[^>]+>([^<]+)</a>[^(]*[\(](\d+) member[s]?[)]</li>"
ms = eachmatch(reg,response,overlap = true)
members = [[1,parse(Int,m.captures[2]),m.captures[1]] for m in ms]
filter!(x -> x[3] in languages, members)
sort!(members, by = x -> (-x[2],x[3]))
for i in 2:length(members)
if members[i-1][2] == members[i][2]
members[i][1] = members[i-1][1]
else
members[i][1] = i
end
end
println("Sample output on ", Dates.day(now()), " ", Dates.monthname(now()), " ", Dates.year(now()), ":\n")
for (rank,entries,name) in members[1:10]
println("Rank: ", lpad(rank,4), lpad(" ($entries entries) ",16),name)
end
</lang>
{{out}}
<pre>
Sample output on 22 July 2019:
 
Rank: 1 (1154 entries) Go
Rank: 2 (1089 entries) Perl 6
Rank: 3 (1070 entries) Julia
Rank: 4 (1066 entries) Python
Rank: 5 (1062 entries) Phix
Rank: 6 (1045 entries) Kotlin
Rank: 7 (1026 entries) Perl
Rank: 8 (991 entries) Racket
Rank: 9 (952 entries) C
Rank: 10 (945 entries) J
</pre>
 
678

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.