2010-01-23 82 views

回答

1

Nutch是一个足够体面的抓取工具,但您必须对索引数据进行自己的分析。

+0

我很好 - 谢谢保罗:) – 2010-01-23 13:36:12

2

你也可以在R中使用类似RCurlXML(获得博客文章)和igraph(对于SNA)的组合来做到这一点。您需要解析HTML以获取所有链接,并且XML包可以轻松处理这种处理。

看一看this related question的SNA分析指标,虽然这是一个很大的研究领域。

+0

谢谢谢恩, 感谢您的想法和链接。 我会再看看它们 - 再次感谢! – 2010-01-29 11:29:18

3

通过“映射”我不确定您是否指的是将原始数据映射到正统图数据结构或将该数据结构映射到美学库以便呈现它。如果是前者,那么我想这是一个直接的问题,写一个函数来翻译原始数据(w/r/t,其链接到哪个博客以及多少)到一个图形数据结构中,比如一个邻接矩阵。映射这样的收视数据结构可以做这样的:

library(Rgraphviz) 
# create an synthetic adjacency matrix for 10 blogs 
M = sapply(rep(10, 10), function(x){sample(c(0, 1), 10, T, c(0.7, 0.3))}) 
colnames(M) = paste(rep("b", 10), 1:10, sep="-") 
rownames(M) = colnames(M) 
# 0's down the main diagonal (eliminate self-edges) 
diag(M) = rep(0, 10) 
# call the graphviz constructor, passing in adjacency matrix 
M_gr = new("graphAM", adjMat=M, edgemode="directed") 
g1 = layoutGraph(M_gr) 
# (optional) aesthetic parameters for nodes & edges 
graph.par(list(edges = list(col="gray", lty="dashed", lwd=1), 
      nodes = list(col="midnightblue", shape="ellipse", 
       textCol="darkred", fill="#B0B7C6", fontsize=11, 
       lty="dotted", lwd=2))) 
# call the device driver 
png(file='somefilename.png', width=600, height=460, res=128) 
# call the plot function 
renderGraph(g1) 
# kill the device 
dev.off() 

alt text http://img13.imageshack.us/img13/7683/bloggraph.png

如果你想显示不只是连接,但在强度这些连接,例如,数量,或者频率从一个博客链接到另一个博客,您可以通过单独设置线宽来设置线宽,例如通过参数'lwd'(我已经为所有边设置了2),另一个选项是按线型显示连接强度,例如虚线,虚线,实心,颜色)。当然,这些边权重必须在邻接矩阵中设置,这很简单 - 而不是用'0'/'1'来表示'未连接'/连接,你可能会想使用'0'/'整数'。

+0

谢谢Doug, 非常有帮助的线索 - 我会再问一次,我会更深入地探讨它们。 – 2010-01-29 11:28:31

0

为了记录,我强烈推荐Python中的机械化库 - 它使您可以快速构建自己的个性化抓取工具/抓取工具。

相关问题