前言: 最近友站涌进无数新用户,如同无数研究几大社交网站的论文,挖掘用户的抱团倾向也许是件有趣的事情。品葱用户的主要升级方式便是点赞。被点赞的用户可以积累声望乃至晋升管理员(真的吗?)。不管怎么说,点赞可以看出用户的喜好,被点赞的多半与该用户立场相近,可以理解为如同社交网站上的关注,更方便的是,点赞的数量可以用来量化两位用户之间的互动。 于是: 想写一个程序reclusive地自动拉取点赞关系(即当前用户点赞的对象,以及当前用户点赞的对象的点赞对象),并且绘制可视化的图形。理想的如同树装图?每个节点越大代表互赞越多?有什么比较好的JavaScript图形库和爬虫适合这个需求?我是小白,只知道selenium和fetch(),而后者不知道为何经常被cloudflare验证码挡住。。 基本设想中的伪代码如下
function 拉清单(uid){
while (page <= maxpage){
fetch("https://pincong.rocks/people/info/received_votes/uid-"+uid+"__page-"+page).then(response => parser1(response, (page < maxpage)))
fetch("https://pincong.rocks/people/info/sent_votes/uid-"+uid+"__page-"+page).then(response => parser2(response, (page < maxpage)))
page ++
}
function parser1(response, fin){
//..........append results
//finally received-votes = [{uid1:votes},{uid2:votes}.....]
}
function parser2(response, fin){
//..........append results
//finally sent-votes = [{uid1:votes},{uid2:votes}.....]
}
//搞个递归?
}
function plot(){........}
plot (sent-votes, received-votes)