Contributors metainfo: reputation and more

조회 수: 71(최근 30일)
Oleg Komarov
Oleg Komarov 2011년 2월 8일
댓글: David 2022년 9월 6일 20:10
As asked by Vieniava in "How to make a list of user's reputation?", some of us came up with interesting ideas on how to fill an updated list with the reputation scores of the contributors to Answers.
I took the initiative to compile a public list of users with meta info:
  • position (desc ordering by reputation)
  • id
  • nickname (truncated to fit the page)
  • reputation
  • # of comments
  • # of questions asked
  • % accept rate
  • # of posts answered
  • # of accepted answers
The code used to compile the list is available at the bottom.
EDIT
TMW team implemented a page with the metascores: http://www.mathworks.com/matlabcentral/answers/contributors
Please refer to it and congrats to the team!
Use this function to retrieve info from the link above:
function [metainfo, elapsedTime] = metainfo(type,order)
% METAINFO - Retrieve metainfo on contributors to www.matworks.com/.../answers
%
% METAINFO Retrieve data sorted by reputation in descending order
%
% METAINFO(TYPE,ORDER) Specify TYPE and sorting ORDER as
% type : 'reputation'
% 'questions'
% 'answered'
% 'accepted'
%
% order: 'asc'
% 'desc'
%
% Examples:
%
% % Standard call (rep, disc)
% info = metainfo;
%
% % Sort by question answered in descending order
% info = metainfo('an','d');
%
% See also: URLREAD, REGEXP
% Author: Oleg Komarov (oleg.komarov@hotmail.it)
% Tested on R14SP3 (7.1) and on R2009b. In-between compatibility is assumed.
% 28 feb 2011 - Created
tic
% Check # inputs
error(nargchk(0,2,nargin))
% Retrieve inputs
if nargin == 0
type = 'reputation';
order = 'desc';
end
if ~exist(type,'var')
sortTypes = {'reputation','questions','answered','accepted'};
type = sortTypes{strncmp(type,sortTypes,numel(type))};
order = 'desc';
end
if ~exist(order,'var')
orderTypes = {'asc','desc'};
type = orderTypes{strncmp(order,orderTypes,numel(order))};
end
% Build url string
url = ['http://www.mathworks.com/matlabcentral/answers/contributors?'...
'dir=' order '&sort=' type '&page='];
% First read
[page, ok] = urlread([url '1']);
% Catch number of pages to read
if ok
totcon = regexp(page,'>1 - 50 of (\d+)','tokens');
totcon = dataread('string',totcon{1}{1},'%d');
nPages = ceil(totcon/50);
else
error('Cannot read ".../contributors?page=1"')
end
% Loop over contributors pages
metainfo = cell(totcon,7);
metainfo(1:end,1) = num2cell(1:size(metainfo,1));
for p = 1:nPages
if ok
endpos = 50*p;
% Id, Rep
expr = '><a href="\/matlabcentral\/answers\/contributors\/(\d+)';
data = regexp(page, expr,'tokens');
if 50*p > totcon; endpos = 50*(p-1)+numel(data); end
metainfo(1+(p-1)*50:endpos,2) = [data{:}];
% Nickname
expr = ['"Reputation: (\d+)">([\w\ ' reshape([repmat(92,1,137);33:59,61:64,91:97,123:126,161:255],1,[]) ']+)</a></h2>'];
data = regexp(page, expr,'tokens');
metainfo(1+(p-1)*50:endpos,[4,3]) = cat(1,data{:});
% Qcount, Ans, Acc
data = regexp(page, '<span >(\d+)</span>[A-z<>"-\s\/]+','tokens');
metainfo(1+(p-1)*50:endpos,5:7) = reshape(cat(1,data{:}),3,[]).';
else
error('Metainfo import stopped. \nCannot read ".../contributors?page=%d"',p)
end
[page, ok] = urlread([url sprintf('%d',p+1)]);
end
% Convert to doubles
metainfo(:,[2,4:7]) = cellfun(@str2double,metainfo(:,[2,4:7]),'un',false);
elapsedTime = toc;
  댓글 수: 8
Aurelien Queffurust
Aurelien Queffurust 2011년 7월 22일
Does the above code still worK?
I still get the following error message:
>> [metainfo, elapsedTime] = metainfo('reputation','asc')
??? Error using ==> reshape
Product of known dimensions, 3, not divisible into total number of elements, 200.
Error in ==> metainfo at 82
metainfo(1+(p-1)*50:endpos,5:7) = reshape(cat(1,data{:}),3,[]).';

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2011년 3월 2일
Congratulations to Matt Fig for making it to 500 before I made it to 1000! He increased from 388 to 501 in about a day and a half, during which time I only increased from 901 to 966.
Numerical projections last night based upon answer acceptance rates were that it would take another 1310 questions answered each before he caught up, so clearly his solutions have been found vote-worthy.
  댓글 수: 5
Walter Roberson
Walter Roberson 2017년 11월 26일
Next test is at max int32 :-)

댓글을 달려면 로그인하십시오.

추가 답변(100개)

Rena Berman
Rena Berman 2020년 8월 14일
CONGRATULATIONS to Walter Roberson for for reaching 100k points!!!!!! We hope you like your new badge named for you for a contributor that reaches 100k, the Roberson Cup! Thank you for helping shape Answers to what it is today and helping so many people worldwide!!!!!!
  댓글 수: 23
David
David 2022년 9월 6일 20:10
Staggering milestone. Well done!

댓글을 달려면 로그인하십시오.


Stephen23
Stephen23 2019년 2월 25일
Congratulations to John D'Errico for reaching 10,000!
And with only 1520 accepted answers too... impressive.
  댓글 수: 7
Rena Berman
Rena Berman 2019년 3월 5일
(Answers Dev) Congratulations! Thank you so much for your efforts in Answers!

댓글을 달려면 로그인하십시오.


Rena Berman
Rena Berman 2017년 4월 10일
(Answers dev) Congrats to Star Strider who passed 20,000 points!
  댓글 수: 4
Jan
Jan 2017년 11월 30일
편집: Jan 2017년 11월 30일
@Star Strider: After I've read this in your profile message:
MATLAB Answers: Third participant to achieve 20,000 Reputation
(09 Apr 2017)
I thought of inserting this in mine:
MATLAB Answers: First participant to achieve 20,000 Reputation
after Star Strider (02 Oct 2017)
Unfortunately I'm not funny, therefore I left it. ;-)

댓글을 달려면 로그인하십시오.


Sven
Sven 2012년 2월 5일
편집: Sven 2014년 3월 1일
Recent news:
... and BAM! Walter hits 25,000! Congratulations are in order again. It's impressive to see, but depressing to compare :)
Timeline:
that was 10,000 on 2012-02-05
and then 15,000 on 2012-07-21
and then 20,000 on 2013-03-02
and then 25,000 on 2013-11-09
The countdown to 100,000 continues...
Original:
Has it been noted yet that Walter has reached five figures in reputation? Wow!
Congratulations on 10000 Walter!
Cheers, Sven.
  댓글 수: 63
Walter Roberson
Walter Roberson 2020년 8월 14일
100k today. 8 months for the last 10k; and 50k took 46 months.

댓글을 달려면 로그인하십시오.


Rena Berman
Rena Berman 2017년 10월 2일
(Answers dev) Congrats to Jan Simon who passed 20,000 points!
  댓글 수: 16
Image Analyst
Image Analyst 2019년 12월 11일
Do you mean this one:
0000 Screenshot.png
or the prior one, where I think he had curly hair?

댓글을 달려면 로그인하십시오.


Rena Berman
Rena Berman 2018년 11월 28일
(Answers dev) Congratulations to Madhan Ravi our newest (and probably fastest) rising star to get editor status at 3000 reputation points! Thank you so much for your efforts in answers!
  댓글 수: 11
madhan ravi
madhan ravi 2020년 7월 18일
Thank you Stephan!

댓글을 달려면 로그인하십시오.


Star Strider
Star Strider 2017년 7월 4일
Congratulations to Guillaume who achieved 10000 Reputation Points today!
  댓글 수: 1
Cedric Wannaz
Cedric Wannaz 2017년 10월 26일
Well, belated congratulations as I spot this comment now!

댓글을 달려면 로그인하십시오.


Rena Berman
Rena Berman 2017년 10월 25일
편집: Rena Berman 2020년 3월 30일
(Answers Dev) Congratulations to Stephen Cobeldick who passed 10,000 points and earned the Master Badge!
  댓글 수: 10