A Tutorial for PageRank

The PageRank algorithm (Brin and Page, 1998) was introduced by Google founders Larry Page and Sergey Brin as a method to rank webpages using only knowledge of the topology of the internet as indicated by the network of directed hyperlinks connecting webpages. The PageRank algorithm models web surfers as random walkers (caution: please be careful when clicking hyperlinks uniform!) and can be analyzed using Markov-chain theory (Durrett, 2010). See (Langville and Meyer, 1998) for an excellent introduction to PageRank and its variations. See (Gleich, 1998) for a review of additional methods and a survey of the algorithm's use across diverse applications. Finally---shameless plug, beware---, see (Taylor et al., 2017) for a method extending PageRank and other eigenvector-based centrality measures to temporal and multilayer networks.

We interest in studying random walks on a web graph. We define the adjacency matrix $A$ having entries $$A_{ij} = \left\{\begin{array}{rl}1,&(i,j)\in\mathcal{E}\\ 0,&(i,j)\not\in\mathcal{E}\end{array} \right. \nonumber $$

Letting $d_i^{in}=\sum_j A_{ij}$ denote the number of out-going edges from node $i$ to other nodes, we define the transition matrix $P$ having entries \begin{equation}\label{eq:transition_matrix} P_{ij} = A_{ij}/d_i^{out} . \end{equation} This equation was written using the following code:

Note that $\sum_j P_{ij} = 1$ for every $i\in\{1,\dots,N\}$, implying that $P{\bf 1}={\bf 1}$. That is, $\lambda_1=1$ is an eigenvalue of $P$ and ${\bf 1}=[1,1,1,1]^T$ is its associated right eigenvector. We will later show that this is the dominant eigenvalue and dominant right eigenvector. The PageRank vector corresponds to the dominant left eigenvector of $P$, which solves \begin{equation}\label{eq:pagerank1} {\bf x}^T P = {\bf x}^T. \nonumber \end{equation}

We now formally define the PageRank vector.

Let $G(\mathcal{V},\mathcal{E})$ denote a graph with nodes $\mathcal{V}$ and edges $\mathcal{E}$ and $P$ its associated transition matrix for the Markov chain for an unbiased random walk on the graph. The PageRank vector ${\bf x}$ for the graph is given by the left dominant eigenvector of $P$ that solves \begin{equation}\label{eq:pagerank2} {x}^T P = {x}^T. \end{equation}

We now present an important theorem regarding the positivity and uniqueness for entries $x_i$ in ${\bf x}$.

Suppose $G(\mathcal{V},\mathcal{E})$ corresponds to strongly connected graph. Then $x_i>0$ for each $i$ and the solution ${\bf x}$ to Eq. \eqref{eq:pagerank2} is unique. The result follows directly from Perron-Frobenius theorem for positive matrices (Bapat, 1997).

The proof to Theorem \ref{theo:pagerank} is quite generally, and holds true for any centrality matrix corresponding to a strongly connected graph---see, for example, the discussion in (Taylor et al., 2017). Alternatively, one can also prove Theorem \ref{theo:pagerank} using theory spacifically for Markov chains (Durrett, 2010).

In [1]:
from numpy import *
import networkx as nx
%pylab inline
Populating the interactive namespace from numpy and matplotlib

Download this dataset and let's get started!

The dataset is the famous Zachary Karate Club network. It's so widely used as a network analysis example, there is even a Zachary Karate Club Club (see this)

Side Note: I recently learned that Mark Newman (University of Michigan) -- who is one the pioneers for the research field Newtork Science -- will be visiting UB to give the prestigious Myhill Lectures in the Fall.

In [2]:
def load_karate_club_data():
    network_file = open("karate/karate.txt", "r")
    lines = network_file.readlines()
    edge_list = zeros((len(lines),2),dtype=int)
    for i in range(len(lines)):
        temp = lines[i].split(' ')
        edge_list[i,:] =  [int(temp[0]),int(temp[1])]
    node_list = {}
    for k in range(int(1+edge_list.max())):
        node_list[k] = str(k)
    return node_list,edge_list
node_list,edge_list = load_karate_club_data()

Here's a visualization of the network

In [3]:
G = nx.karate_club_graph()
pos=nx.spring_layout(G) # positions for all nodes
nx.draw_networkx_nodes(G,pos,nodelist=G.nodes,edgelist=G.edges,node_size=300,alpha=0.9,with_labels = True)
nx.draw_networkx_edges(G,pos,edgelist=G.edges,edge_color='k',width=3,alpha=0.3)
nx.draw_networkx_labels(G,pos,node_list,font_size=13)

plt.axis('off')
plt.rc('text', usetex=True)
plt.rc('font', family='serif')
plt.title(r"Zachary Karate Club",fontsize=16, color='black')
plt.show()

This network is widely used for research because it famously split into 2 communities. Two of the nodes, node 0 and node 33, were the club president and the instructor. They had a disagreement (I know, I know, ... a fight broke out at the karate club) and the club split in half. For this reason, the network is often used as a test example for community detection (i.e., clustering) algorithms. A social scientist, W. W. Zachary, happend to be studying the club as a social network, and published a paper about the social dynamics in 1977 [W. W. Zachary. An information flow model for conflict and fission in small groups. Journal of Anthropological Research, 33(4):452–473, 1977.] See this paper for more background information.

Load this network data into a sparse matrix format using scipy

In [4]:
from scipy.sparse import *

node_list,edge_list = load_karate_club_data()
N = len(node_list)
# convert edge list into a sparse adjacency matrix A
A = csc_matrix((ones(len(edge_list[:,0])), (edge_list[:,0], edge_list[:,1])), shape=(N, N))
A = A + A.T # make the adjacency matrix symmetric - only do this step for the Karate Club

# visualize the sparse matrix
fig, ax = plt.subplots(figsize=(5, 5))
ax.spy(A)
Out[4]:
<matplotlib.lines.Line2D at 0x11962d438>

We now want to study the importances of the nodes according to the structure of the social newtork. To this end, we will implement the PageRank algorithm.

In [5]:
# first construct a row-stochastic matrix B
d = sum(A,axis=1)# sum over a row is called a node degree
B = A
for i in range(N):
    #print(B[i,:]/d[i])
    B[:,i] = B[:,i]/d[i]
# B is now a stochastic matrix and represents a markov chain
sum(B,axis=0)
/Users/drt/anaconda3/lib/python3.6/site-packages/scipy/sparse/compressed.py:742: SparseEfficiencyWarning: Changing the sparsity structure of a csc_matrix is expensive. lil_matrix is more efficient.
  SparseEfficiencyWarning)
Out[5]:
matrix([[ 1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
          1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,
          1.,  1.,  1.,  1.,  1.,  1.,  1.,  1.]])
In [6]:
#now define a pagerank step
def pagerank_step(x,alpha):
    x = (1-alpha)*B.dot(x) + alpha * ones(N)/N
    return (x)
In [7]:
x = ones(N)/N
x2 = B.dot(x)
alpha = 0.85 # the teleportation rate
x3 = pagerank_step(x,alpha)
plot(x)
plot(x2)
plot(x3)
legend(['x1','x2','x3'])
Out[7]:
<matplotlib.legend.Legend at 0x119f349b0>
In [8]:
def pagerank(B,alpha,epsilon,max_iterations):
    x = ones(N)/N
    for k in range(max_iterations):
        x2 = pagerank_step(x,alpha)
        if linalg.norm(x-x2) < epsilon:
            break
        else:
            x = x2
    return x
In [9]:
alpha = 0.85 # the teleportation rate
epsilon = 10**-6
max_iterations = 1000
PR = pagerank(B,alpha,epsilon,max_iterations)
PR
Out[9]:
array([ 0.04635819,  0.03481253,  0.03430818,  0.03034867,  0.02795753,
        0.03000129,  0.03000129,  0.02728812,  0.02790401,  0.02594075,
        0.02795753,  0.02543459,  0.02619331,  0.02771425,  0.02592928,
        0.02592928,  0.02725011,  0.02601479,  0.02592928,  0.02644092,
        0.02592928,  0.02601479,  0.02592928,  0.02947111,  0.02822461,
        0.02805821,  0.02650619,  0.02823611,  0.02670359,  0.0288014 ,
        0.02734661,  0.03051319,  0.04025409,  0.04829762])
In [10]:
node_ranking = argsort(-PR)
node_ranking
Out[10]:
array([33,  0, 32,  1,  2, 31,  3,  5,  6, 23, 29, 27, 24, 25,  4, 10,  8,
       13, 30,  7, 16, 28, 26, 19, 12, 21, 17,  9, 22, 18, 15, 14, 20, 11])

Note that node 33 and node 0 are the 2 most important nodes

Let's visualize the ranking results

In [11]:
G = nx.karate_club_graph()
pos=nx.spring_layout(G) # positions for all nodes
nx.draw_networkx_nodes(G,pos,nodelist=G.nodes,edgelist=G.edges,
                       node_color=PR*10,node_size=300000*PR**2,alpha=0.9)
nx.draw_networkx_edges(G,pos,edgelist=G.edges,edge_color='k',width=3,alpha=0.3)
nx.draw_networkx_labels(G,pos,node_list,font_size=13)

plt.axis('off')
plt.rc('text', usetex=True)
plt.rc('font', family='serif')
plt.title(r"PageRank for Zachary Karate Club",fontsize=16, color='black')
plt.show()

Exercise 1: Implement PageRank to rank webpages for a webcrawl dataset (recall a webcrawl aims to map out the hyperlink structure connecting webpages)

<img src="http://www.acsu.buffalo.edu/~danet/Sp18/MTH309/MTH309_files/webgraph.jpeg" width =500>

The dataset comes from Jon Kleinberg (Cornell) and describes pages resulting from a websearch for the word 'california'. See this page for more information.

I'll get you started

In [12]:
# load the dataset
def load_california_data():
    network_file = open("california/california.dat", "r")
    lines = network_file.readlines()
    nodes = []
    edge_list = []
    for i in range(len(lines)):
        temp = lines[i].split(' ')
        if temp[0]=='n':
            nodes.append(temp[2])
        if temp[0]=='e':
            edge_list.append([temp[1],temp[2].replace('.\n','')]) 
    edge_list = array(edge_list)      
    node_list = {}
    for k in range(len(nodes)):
        node_list[k] = nodes[k]
    return node_list,edge_list
In [13]:
from scipy.sparse import coo_matrix

node_list,edge_list = load_california_data()
N = len(node_list)

# convert edge list into a sparse adjacency matrix
A = csc_matrix((ones(len(edge_list[:,0])), (edge_list[:,0], edge_list[:,1])), shape=(N,N))

# visualize the sparse matrix
fig, ax = plt.subplots(figsize=(50, 50))
ax.spy(A)
Out[13]:
<matplotlib.lines.Line2D at 0x11752ed30>
In [14]:
node_list
Out[14]:
{0: 'http://www.berkeley.edu/\n',
 1: 'http://www.caltech.edu/\n',
 2: 'http://www.realestatenet.com/\n',
 3: 'http://www.ucsb.edu/\n',
 4: 'http://www.washingtonpost.com/wp-srv/national/longterm/50states/ca.htm\n',
 5: 'http://www-ucpress.berkeley.edu/\n',
 6: 'http://www.ucr.edu/\n',
 7: 'http://www.tegnetcorporation.com/\n',
 8: 'http://www.research.digital.com/SRC/virtual-tourist/California.html\n',
 9: 'http://www.leginfo.ca.gov/calaw.html\n',
 10: 'http://www.csun.edu/\n',
 11: 'http://www.calpoly.edu/\n',
 12: 'http://www.calbar.org/\n',
 13: 'http://ideas.uqam.ca/ideas/data/fthcalaec.html\n',
 14: 'http://www.sen.ca.gov/\n',
 15: 'http://www.csupomona.edu/\n',
 16: 'http://www.csuchico.edu/\n',
 17: 'http://www.calacademy.org/\n',
 18: 'http://cwis.usc.edu/\n',
 19: 'http://www.usc.edu/CMSI/CalifSF/\n',
 20: 'http://www.csus.edu/\n',
 21: 'http://www.csulb.edu/\n',
 22: 'http://www.cs.berkeley.edu/\n',
 23: 'http://www.calstatela.edu/\n',
 24: 'http://www.calbears.com/\n',
 25: 'http://www.azc.com/\n',
 26: 'http://goldmine.cde.ca.gov/\n',
 27: 'http://gocalif.ca.gov/\n',
 28: 'http://www.garlic.com/california/ca.html\n',
 29: 'http://www.csufresno.edu/\n',
 30: 'http://www.calstate.edu/\n',
 31: 'http://www.assembly.ca.gov/\n',
 32: 'http://www.ucop.edu/ucophome/ucservers.html\n',
 33: 'http://www.ftb.ca.gov/\n',
 34: 'http://www.floydsordeal.com/ring.htm\n',
 35: 'http://www.dfg.ca.gov/\n',
 36: 'http://www.cpuc.ca.gov/\n',
 37: 'http://www.city.net/countries/united_states/california/\n',
 38: 'http://www.car.org/\n',
 39: 'http://www.californiamall.com/\n',
 40: 'http://www.calarts.edu/\n',
 41: 'http://www.ca.gov/s/\n',
 42: 'http://city.net/countries/united_states/california/\n',
 43: 'http://www.webstart.com/advertising.html\n',
 44: 'http://www.webcom.com/~career/\n',
 45: 'http://www.ss.ca.gov/\n',
 46: 'http://www.reals.com/\n',
 47: 'http://www.primewine.com/p28.htm\n',
 48: 'http://www.monterey.edu/\n',
 49: 'http://www.mip.berkeley.edu/cilc/brochure/brochure.html\n',
 50: 'http://www.jwpublishing.com/gayscape/cal.html\n',
 51: 'http://www.insurance.ca.gov/\n',
 52: 'http://www.hri.uci.edu/~hri/\n',
 53: 'http://www.gocalif.ca.gov/\n',
 54: 'http://www.fullerton.edu/\n',
 55: 'http://www.fire.ca.gov/\n',
 56: 'http://www.energy.ca.gov/\n',
 57: 'http://www.dla.ucop.edu/dlaweb/campuses.html\n',
 58: 'http://www.cup.edu/\n',
 59: 'http://www.csusb.edu/\n',
 60: 'http://www.csum.edu/\n',
 61: 'http://www.csuhayward.edu/\n',
 62: 'http://www.csrmf.org/\n',
 63: 'http://www.courtinfo.ca.gov/\n',
 64: 'http://www.cmp.ucr.edu/\n',
 65: 'http://www.calpoly.edu/~dchippin/cnps_main.html\n',
 66: 'http://www.california.edu/\n',
 67: 'http://www.calif.com/ca/\n',
 68: 'http://www.baychef.com/\n',
 69: 'http://www.at-la.com/\n',
 70: 'http://www.amdahl.com/internet/general/travel/ca-highway.html\n',
 71: 'http://wwte.com/californ/scoast.htm\n',
 72: 'http://infopath.ucsd.edu/\n',
 73: 'http://cmp1.ucr.edu/\n',
 74: 'http://cdec.water.ca.gov/\n',
 75: 'http://www2.ecst.csuchico.edu/~jschlich/Flyfish/flyfish.html\n',
 76: 'http://www.travelsphere.com/cdi/caguide.html\n',
 77: 'http://www.sce.com/\n',
 78: 'http://www.ocf.berkeley.edu/~mikechun/Homepage.html\n',
 79: 'http://www.mapquest.com/wine/mqinterconnect\n',
 80: 'http://www.ics.uci.edu/\n',
 81: 'http://www.eecs.berkeley.edu/\n',
 82: 'http://www.dot.ca.gov/hq/roadinfo/\n',
 83: 'http://www.dir.ca.gov/\n',
 84: 'http://www.dhs.cahwnet.gov/\n',
 85: 'http://www.csusm.edu/\n',
 86: 'http://www.csudh.edu/\n',
 87: 'http://www.csubak.edu/\n',
 88: 'http://www.csac.ca.gov/\n',
 89: 'http://www.crc.ricoh.com/\n',
 90: 'http://www.chp.ca.gov/\n',
 91: 'http://www.cda.org/\n',
 92: 'http://www.camemorial.org/\n',
 93: 'http://www.calepa.cahwnet.gov/\n',
 94: 'http://www.calcpa.org/\n',
 95: 'http://www.angelfire.com/ca/srcom/index.html\n',
 96: 'http://www.abate.org/\n',
 97: 'http://lcweb2.loc.gov/ammem/afccchtml/cowhome.html\n',
 98: 'http://elib.cs.berkeley.edu/\n',
 99: 'http://ceres.ca.gov/CRA/\n',
 100: 'http://california.findlaw.com/\n',
 101: 'http://www.westland.net/beachcam/\n',
 102: 'http://www.weather.com/weather/us/states/California.html\n',
 103: 'http://www.virtually.com/\n',
 104: 'http://www.vegas.com/hotels/cal/home.html\n',
 105: 'http://www.vedanta.org/\n',
 106: 'http://www.urel.berkeley.edu/UREL_1/Catalog95/aboutberk.html\n',
 107: 'http://www.ucsc.edu/public/index.htm\n',
 108: 'http://www.ucla.edu/ucservers.html\n',
 109: 'http://www.ucdavis.edu/AUP.html\n',
 110: 'http://www.tomato.org/\n',
 111: 'http://www.state.ca.us/s/\n',
 112: 'http://www.ss.ca.gov/Vote96/html/BP/home.htm\n',
 113: 'http://www.socalgas.com/\n',
 114: 'http://www.shastacascade.org/\n',
 115: 'http://www.scubed.com/caltrans/\n',
 116: 'http://www.scoug.com/\n',
 117: 'http://www.score.k12.ca.us/\n',
 118: 'http://www.scec.org/\n',
 119: 'http://www.scag.ca.gov/\n',
 120: 'http://www.psn.net/support/access_num.phtml\n',
 121: 'http://www.path.berkeley.edu/\n',
 122: 'http://www.oes.ca.gov/\n',
 123: 'http://www.museumca.org/\n',
 124: 'http://www.medbd.ca.gov/\n',
 125: 'http://www.library.ca.gov/\n',
 126: 'http://www.leginfo.ca.gov/bilinfo.html\n',
 127: 'http://www.law.indiana.edu/codes/ca/codes.html\n',
 128: 'http://www.lao.ca.gov/\n',
 129: 'http://www.ladas.com/ATN/\n',
 130: 'http://www.islamctr.org/icsc/\n',
 131: 'http://www.hnet.uci.edu/philosophy/\n',
 132: 'http://www.greens.org/california/\n',
 133: 'http://www.gpo.ucop.edu/\n',
 134: 'http://www.geocities.com/~mirc/\n',
 135: 'http://www.dui.com/\n',
 136: 'http://www.dot.ca.gov/hq/roadinfo/i80\n',
 137: 'http://www.dof.ca.gov/html/Demograp/repndat.htm\n',
 138: 'http://www.dmv.ca.gov/\n',
 139: 'http://www.cwsl.edu/\n',
 140: 'http://www.ctc.ca.gov/\n',
 141: 'http://www.csuchico.edu/~sbarker/scott.html\n',
 142: 'http://www.csf.org/\n',
 143: 'http://www.csba.org/\n',
 144: 'http://www.csaa.com/\n',
 145: 'http://www.cs.ucdavis.edu/\n',
 146: 'http://www.crfg.org/\n',
 147: 'http://www.creia.com/\n',
 148: 'http://www.courtinfo.ca.gov/opinions/\n',
 149: 'http://www.cora.org/\n',
 150: 'http://www.consrv.ca.gov/\n',
 151: 'http://www.communityaccess.org/\n',
 152: 'http://www.college-republicans.org/\n',
 153: 'http://www.co.calstate.edu/PublicAffairs/news/news.html\n',
 154: 'http://www.clia.org/\n',
 155: 'http://www.cla-net.org/\n',
 156: 'http://www.cis.ohio-state.edu/hypertext/faq/usenet/davis/faq/part1/faq.html\n',
 157: 'http://www.childrennow.org/california/california.html\n',
 158: 'http://www.ceres.ca.gov/flood/\n',
 159: 'http://www.cedar.ca.gov/\n',
 160: 'http://www.cdpr.ca.gov/\n',
 161: 'http://www.cdfa.com/\n',
 162: 'http://www.cdfa.ca.gov/\n',
 163: 'http://www.ccnmag.com/\n',
 164: 'http://www.ccacsf.edu/\n',
 165: 'http://www.caycegoldengate.com/\n',
 166: 'http://www.cave.org/\n',
 167: 'http://www.capta.org/\n',
 168: 'http://www.camft.org/\n',
 169: 'http://www.calvoter.org/\n',
 170: 'http://www.caltech.edu/caltechhome.html\n',
 171: 'http://www.calpoly.edu/~pek/\n',
 172: 'http://www.calmike.com/\n',
 173: 'http://www.californiaaggie.com/\n',
 174: 'http://www.calif.com/ca/calif-map.html\n',
 175: 'http://www.calgraph.com/\n',
 176: 'http://www.calgold.com/\n',
 177: 'http://www.calfund.org/\n',
 178: 'http://www.calcoastuniv.edu/ccu/\n',
 179: 'http://www.calcoast.com/\n',
 180: 'http://www.calchannel.com/\n',
 181: 'http://www.calchamber.com/\n',
 182: 'http://www.cal-parks.ca.gov/\n',
 183: 'http://www.cal-pac.org/\n',
 184: 'http://www.cagop.org/\n',
 185: 'http://www.cacb.uscourts.gov/\n',
 186: 'http://www.ca.lp.org/\n',
 187: 'http://www.ca.cancer.org/\n',
 188: 'http://www.ca-probate.com/\n',
 189: 'http://www.ca-homes.com/catitle.htm\n',
 190: 'http://www.blueshieldca.com/\n',
 191: 'http://www.barricksinsurance.com/\n',
 192: 'http://www.avoinfo.com/\n',
 193: 'http://www.av.qnet.com/~carcomm/wrecks.htm\n',
 194: 'http://www.at-la.com/lotto/\n',
 195: 'http://www.artcenter.org/\n',
 196: 'http://www.arb.ca.gov/homepage.htm\n',
 197: 'http://www.amtrak.com/amtrak/travel/central/cazephyr.html\n',
 198: 'http://www.americansavings.com/\n',
 199: 'http://www.alumni.berkeley.edu/\n',
 200: 'http://www.adp.cahwnet.gov/\n',
 201: 'http://www.acwanet.com/\n',
 202: 'http://www.aaa-calif.com/\n',
 203: 'http://www.2meta.com/chats/logs/\n',
 204: 'http://water.wr.usgs.gov/\n',
 205: 'http://vote96.ss.ca.gov/\n',
 206: 'http://twister.sbs.ohio-state.edu/california.html\n',
 207: 'http://tudogs.com/begin.html\n',
 208: 'http://superior.berkeley.edu/\n',
 209: 'http://sunsite.Berkeley.EDU/CalHeritage/\n',
 210: 'http://squall.sfsu.edu/\n',
 211: 'http://spectacle.berkeley.edu/\n',
 212: 'http://socaltip.lerctr.org/\n',
 213: 'http://scmtc.ml.org/\n',
 214: 'http://quake.geo.berkeley.edu/cnss/catalog-search.html\n',
 215: 'http://nimbo.wrh.noaa.gov/cnrfc/\n',
 216: 'http://members.aol.com/la2wndsrf/home.htm\n',
 217: 'http://iwin.nws.noaa.gov/iwin/ca/hourly.html\n',
 218: 'http://houseboat.net/ca.html\n',
 219: 'http://geogdata.csun.edu/\n',
 220: 'http://galaxy.cs.berkeley.edu/flowers/\n',
 221: 'http://conbio.bio.uci.edu/\n',
 222: 'http://ceres.ca.gov/topic/flood2.html\n',
 223: 'http://cdip.ucsd.edu/models/wave.model.html\n',
 224: 'http://calmentor.ca.gov/\n',
 225: 'http://californiaweb.com/\n',
 226: 'http://californiacentralcoast.com/\n',
 227: 'http://cal-parks.ca.gov/\n',
 228: 'http://caag.state.ca.us/bcia2/mups.htm\n',
 229: 'http://www4.techstocks.com/~wsapi/investor/subject-3775\n',
 230: 'http://www.year2000.ca.gov/\n',
 231: 'http://www.wgasc.com/\n',
 232: 'http://www.webcom.com/~rmd/baseball/california.html\n',
 233: 'http://www.webcom.com/walnut/welcome.html\n',
 234: 'http://www.webb.pvt.k12.ca.us/~webb/WSCPrograms.html\n',
 235: 'http://www.water.ca.gov/www.gov.sites.html\n',
 236: 'http://www.via.net:80/~csf/\n',
 237: 'http://www.ucop.edu/tcap/\n',
 238: 'http://www.ucolick.org/\n',
 239: 'http://www.ucg.org/\n',
 240: 'http://www.uabcs.mx/\n',
 241: 'http://www.tsoft.net/~cmi/\n',
 242: 'http://www.tray.com/fecweb/1996/states/ca_01.htm\n',
 243: 'http://www.travelsphere.com/search/travel_results.cfm\n',
 244: 'http://www.tortoise.org/\n',
 245: 'http://www.tnc.org/infield/State/California/\n',
 246: 'http://www.swrcb.ca.gov/\n',
 247: 'http://www.swmall.com/ccqs/\n',
 248: 'http://www.surgery.usc.edu/\n',
 249: 'http://www.superbikeschool.com/\n',
 250: 'http://www.stan-co.k12.ca.us/calpe/\n',
 251: 'http://www.sscnet.ucla.edu/nrotc/\n',
 252: 'http://www.spb.ca.gov/\n',
 253: 'http://www.sonnet.com/CriminalJusticeReform/\n',
 254: 'http://www.smogcheck.ca.gov/\n',
 255: 'http://www.slopilot.com/\n',
 256: 'http://www.sen.ca.gov/www/leginfo/finger.html\n',
 257: 'http://www.seismo.berkeley.edu/seismo/Homepage.html\n',
 258: 'http://www.seismic.ca.gov/\n',
 259: 'http://www.secondhand.com/\n',
 260: 'http://www.seaoc.org/\n',
 261: 'http://www.scoi.com/\n',
 262: 'http://www.sco.ca.gov/\n',
 263: 'http://www.scecdc.scec.org/\n',
 264: 'http://www.scap.org/\n',
 265: 'http://www.rsn.com/snow/snowreport.html\n',
 266: 'http://www.research.digital.com/SRC/virtual-tourist/CaliforniaYP.html\n',
 267: 'http://www.reg.uci.edu/SANET/ucsf.html\n',
 268: 'http://www.radiochannel.com/cala.htm\n',
 269: 'http://www.purpleweb.com/purple/events.htm\n',
 270: 'http://www.publicaffairsweb.com/ccri/\n',
 271: 'http://www.primary96.ca.gov/\n',
 272: 'http://www.ppconline.com/\n',
 273: 'http://www.policycenter.org/\n',
 274: 'http://www.paranoia.com/~steveo/wine_gde.html\n',
 275: 'http://www.pageweavers.com/calfats.html\n',
 276: 'http://www.ns.net/cadva/\n',
 277: 'http://www.newsreel.org/\n',
 278: 'http://www.newcollege.edu/\n',
 279: 'http://www.netilus.com/aeroskin/\n',
 280: 'http://www.ncls.com/\n',
 281: 'http://www.nciba.com/\n',
 282: 'http://www.namamo.org/\n',
 283: 'http://www.n2.net/prey/bigfoot/\n',
 284: 'http://www.mwd.dst.ca.us/\n',
 285: 'http://www.mortgageloan.com/Rates/California/\n',
 286: 'http://www.miracles-course.org/\n',
 287: 'http://www.mechanik.tu-darmstadt.de/ias_d.htm\n',
 288: 'http://www.mako.com/friedman/nctour.htm\n',
 289: 'http://www.lpai.ucop.edu/outcomes/cdl/\n',
 290: 'http://www.lexar.com/employ.htm\n',
 291: 'http://www.lalecheleague.org/Web/California.html\n',
 292: 'http://www.jpl.nasa.gov/tours/\n',
 293: 'http://www.istari.org:44/books/~olear/ADnD/index.html\n',
 294: 'http://www.intellicast.com/weather/sfo/\n',
 295: 'http://www.indiana.edu/~maritime/caparks/\n',
 296: 'http://www.igc.apc.org/ceppc/index.html\n',
 297: 'http://www.iaco.com/features/lajolla/homepage.htm\n',
 298: 'http://www.gorp.com/gorp/location/ca/ca.htm\n',
 299: 'http://www.geom.umn.edu/~addingto/mathshow.html\n',
 300: 'http://www.geocities.com/RodeoDrive/7749/cls.htm\n',
 301: 'http://www.flash.net/~kevl/online/\n',
 302: 'http://www.fb.com/cafb/\n',
 303: 'http://www.familywinemakers.org/\n',
 304: 'http://www.emsa.cahwnet.gov/\n',
 305: 'http://www.employlaw.com/\n',
 306: 'http://www.edd.cahwnet.gov/jscjb.htm\n',
 307: 'http://www.ecst.csuchico.edu/\n',
 308: 'http://www.dre.cahwnet.gov/\n',
 309: 'http://www.donaldlaird.com/landmarks/\n',
 310: 'http://www.docboard.org/ca/df/casearch.htm\n',
 311: 'http://www.dgs.ca.gov/osmb/cscr/adcscr/ads.htm\n',
 312: 'http://www.ded.com/nonags/main.html\n',
 313: 'http://www.dcn.davis.ca.us/\n',
 314: 'http://www.dca.ca.gov/\n',
 315: 'http://www.cyr.org/\n',
 316: 'http://www.cyclecalifornia.com/\n',
 317: 'http://www.csun.edu/~cc20873/\n',
 318: 'http://www.csfa.firedept.net/\n',
 319: 'http://www.cse.ucsc.edu/\n',
 320: 'http://www.csdf.k12.ca.us/\n',
 321: 'http://www.cs.ucsb.edu/\n',
 322: 'http://www.cs.ucla.edu/\n',
 323: 'http://www.cpu.edu/\n',
 324: 'http://www.cpec.ca.gov/\n',
 325: 'http://www.cpb.org/directory/ca_list.html\n',
 326: 'http://www.consrv.ca.gov/dmg/index.html\n',
 327: 'http://www.cnpa.com/\n',
 328: 'http://www.cniga.com/\n',
 329: 'http://www.cmnc.org/\n',
 330: 'http://www.cmhi.org/\n',
 331: 'http://www.clunet.edu/\n',
 332: 'http://www.clrc.ca.gov/\n',
 333: 'http://www.clca.org/\n',
 334: 'http://www.ciwmb.ca.gov/\n',
 335: 'http://www.ciug.org/\n',
 336: 'http://www.city.palo-alto.ca.us/\n',
 337: 'http://www.city.net/countries/united_states/california/san_francisco/\n',
 338: 'http://www.cis.ohio-state.edu/hypertext/faq/usenet/yolo/faq/part1/faq.html\n',
 339: 'http://www.ci.la.ca.us/\n',
 340: 'http://www.ci.berkeley.ca.us/\n',
 341: 'http://www.childsup.cahwnet.gov/MOSTWNTD.HTM\n',
 342: 'http://www.cfsonline.org/\n',
 343: 'http://www.cfeca.org/\n',
 344: 'http://www.cfaitc.org/\n',
 345: 'http://www.cerritos.edu/cccco/cccco.html\n',
 346: 'http://www.cdinet.org/\n',
 347: 'http://www.cdha.org/\n',
 348: 'http://www.ccul.org/\n',
 349: 'http://www.cct-assn.org/\n',
 350: 'http://www.cchs.edu/\n',
 351: 'http://www.cccoe.k12.ca.us/music/musiced.htm\n',
 352: 'http://www.ccbooks.com/\n',
 353: 'http://www.catransit.com/\n',
 354: 'http://www.casciencectr.org/\n',
 355: 'http://www.carversguild.com/\n',
 356: 'http://www.capa.org/\n',
 357: 'http://www.canonprofits.org/\n',
 358: 'http://www.campgrounds.com/\n',
 359: 'http://www.caltax.org/\n',
 360: 'http://www.caltax.com/\n',
 361: 'http://www.calsw.com/\n',
 362: 'http://www.calsci.com/\n',
 363: 'http://www.calpx.com/\n',
 364: 'http://www.calottery.com/numbers.html\n',
 365: 'http://www.calmis.cahwnet.gov/\n',
 366: 'http://www.calinst.com/\n',
 367: 'http://www.californiatan.com/\n',
 368: 'http://www.californiaangels.com/\n',
 369: 'http://www.calhist.org/\n',
 370: 'http://www.calguard.ca.gov/\n',
 371: 'http://www.calfed.com/\n',
 372: 'http://www.calbaptist.edu/\n',
 373: 'http://www.cajobs.com/\n',
 374: 'http://www.cacities.org/\n',
 375: 'http://www.cacd.uscourts.gov/\n',
 376: 'http://www.ca.gov/s/govt/\n',
 377: 'http://www.ca-usaw.org/\n',
 378: 'http://www.businessassistance.com/possoft.html\n',
 379: 'http://www.bsa.ca.gov/bsa/\n',
 380: 'http://www.briefs.com/calmuscle/\n',
 381: 'http://www.bluecrossca.com/\n',
 382: 'http://www.best.com/~nessus/scvwa/scvwa.html\n',
 383: 'http://www.bankamerica.com/community/comm_env_urban1.html\n',
 384: 'http://www.atchison.net/n4c/\n',
 385: 'http://www.assembly.ca.gov/acs/defaulttext.asp\n',
 386: 'http://www.ashrae-socal.org/\n',
 387: 'http://www.art-deco.org/\n',
 388: 'http://www.aqmd.gov/\n',
 389: 'http://www.aclu-sc.org/\n',
 390: 'http://www.aapca2.org/\n',
 391: 'http://www-socal.wr.usgs.gov/scsn.html\n',
 392: 'http://www-path.eecs.berkeley.edu/\n',
 393: 'http://www-chem.ucdavis.edu/\n',
 394: 'http://www-bier.ucsd.edu/\n',
 395: 'http://www-atm.ucdavis.edu/home.html\n',
 396: 'http://wings.buffalo.edu/geogw\n',
 397: 'http://white.nosc.mil/california.html\n',
 398: 'http://w3.dcache.net/cell/\n',
 399: 'http://vric.ucdavis.edu/vrichome/html/selectnewtopic.fmprep.htm\n',
 400: 'http://math.berkeley.edu/CourseAnnouncementsSpring.html\n',
 401: 'http://wss-www.berkeley.edu/pubs.html\n',
 402: 'http://istpub.berkeley.edu:4201/gccr/gccr05.html\n',
 403: 'http://www.unex.berkeley.edu:4243/cat/cis5.html\n',
 404: 'http://www.langara.bc.ca/vnc/sarah.htm\n',
 405: 'http://www.aad.berkeley.edu/public/collab1.html\n',
 406: 'http://stat-www.berkeley.edu/users/rice/research.html\n',
 407: 'http://eci.ucsb.edu/~asb/story.html\n',
 408: 'http://stat-www.berkeley.edu/pub/users/sgsa/Guide/node4.html\n',
 409: 'http://www-gse.berkeley.edu/Admin/EMACS/Internet_Intro.html\n',
 410: 'http://www.grad.berkeley.edu:4201/gccr/08.html\n',
 411: 'http://www.best.com/~fearless/Leonardo.html\n',
 412: 'http://cobweb.berkeley.edu/Text/Software/BIK/Docs/Troubleshooting_Modem_BIK_1.1/BIK_Trouble_Modem_Sec4.html\n',
 413: 'http://haas.berkeley.edu/Stat/stat_Jan_98.html\n',
 414: 'http://sc2a.unige.ch/~mieville/swl_lis.html\n',
 415: 'http://www.haas.berkeley.edu/Stat/stat_jan_97.html\n',
 416: 'http://math.berkeley.edu/Course_Outlines.html\n',
 417: 'http://media2.cs.berkeley.edu/projects/berdahl/\n',
 418: 'http://www.urel.berkeley.edu/UREL_1/Catalog95/A-Z.html\n',
 419: 'http://www.alumni.berkeley.edu/asc/faq.html\n',
 420: 'http://www.lib.berkeley.edu/AboutLibrary/Staff/ASM/index.html\n',
 421: 'http://www-cse.ucsd.edu/users/bowdidge/railroad/splinks.html\n',
 422: 'http://boserup.qal.berkeley.edu/~mwande/\n',
 423: 'http://www.santafe.edu/projects/CompMech/html/CompMechGroup.html\n',
 424: 'http://ist.berkeley.edu:5555/2sitelist.html\n',
 425: 'http://http.cs.berkeley.edu/~ddgarcia/\n',
 426: 'http://www.cs.berkeley.edu/~ddgarcia/\n',
 427: 'http://chlamydia-www.berkeley.edu:4231/descript.html\n',
 428: 'http://www.clas.berkeley.edu:4201/gccr/gccr03.html\n',
 429: 'http://www.math.harvard.edu/~diaconis/pdpc.html\n',
 430: 'http://www.cchem.berkeley.edu/~wemmer/Links.html\n',
 431: 'http://istpub.berkeley.edu:4201/gccr/gccr03.html\n',
 432: 'http://comp-resources.berkeley.edu:5019/\n',
 433: 'http://www-wss.berkeley.edu/Webcorner/webcorner.html\n',
 434: 'http://www.grad.berkeley.edu:4201/gccr/14.html\n',
 435: 'http://garnet.berkeley.edu:4252/acad.html\n',
 436: 'http://flamestrike.hacks.arizona.edu/~macdaddy/hs.html\n',
 437: 'http://www.lhs.berkeley.edu/TEAMS/\n',
 438: 'http://www-learning.berkeley.edu/wciv/ugis55a/policy.html\n',
 439: 'http://www.cs.berkeley.edu/~maratb/resume.html\n',
 440: 'http://www.aad.berkeley.edu/UGA/OED/ASC/ASCHomePage.html\n',
 441: 'http://www.cs.berkeley.edu/~ddgarcia/recent.html\n',
 442: 'http://http.cs.berkeley.edu/~ddgarcia/hotlistNetscape.html\n',
 443: 'http://www.cea.berkeley.edu/Education/SOL/sol_project.html\n',
 444: 'http://www.cs.berkeley.edu/~laura/\n',
 445: 'http://ls.berkeley.edu/divisions/hum/\n',
 446: 'http://alumni.eecs.berkeley.edu/alumreg/by_company.html\n',
 447: 'http://www.cs.berkeley.edu/~rfromm/old.html\n',
 448: 'http://www.cs.umbc.edu/~elm/cv.shtml\n',
 449: 'http://www.urel.berkeley.edu/urel_1/CampusNews/PressReleases/releases/07-15-1998.html\n',
 450: 'http://www.uga.berkeley.edu/ouars/\n',
 451: 'http://www-resources.berkeley.edu/nhpsearch/\n',
 452: 'http://www.urel.berkeley.edu/UREL_1/Campusnews/berkeleyan/1998/0616/default.html\n',
 453: 'http://summer.berkeley.edu/\n',
 454: 'http://infocal.berkeley.edu:5050/oar/\n',
 455: 'http://www-resources.berkeley.edu/nhpteaching/\n',
 456: 'http://www-resources.berkeley.edu/nhpothercampusinfo\n',
 457: 'http://www-resources.berkeley.edu/directory/\n',
 458: 'http://www.lib.berkeley.edu/\n',
 459: 'http://www.chance.berkeley.edu/planning/calendar.html\n',
 460: 'http://www.unex.berkeley.edu:4243/\n',
 461: 'http://public-safety.berkeley.edu:4254/\n',
 462: 'http://www.uhs.berkeley.edu/\n',
 463: 'http://www.chance.berkeley.edu/bp/assoc-chance/wwwsteer.html\n',
 464: 'http://amber.berkeley.edu:5014/\n',
 465: 'http://www.cco.caltech.edu/~gradofc/information/campus.html\n',
 466: 'http://www.cco.caltech.edu/~vhuang/ch/schedule.html\n',
 467: 'http://www.galcit.caltech.edu/Staff.html\n',
 468: 'http://www.cwire.com/caltech/\n',
 469: 'http://www.hss.caltech.edu/\n',
 470: 'http://www-socal.wr.usgs.gov/statistics/www.html\n',
 471: 'http://uhs.bsd.uchicago.edu/~bhsiung/mental.html\n',
 472: 'http://www.jpl.nasa.gov/\n',
 473: 'http://www.gmi.edu/gmi_official/acad/mech-eng/applphys.htm\n',
 474: 'http://www.ugcs.caltech.edu/~lloyd/useful/caltech.html\n',
 475: 'http://www.ugcs.caltech.edu/~cfjan/useful.html\n',
 476: 'http://www.cco.caltech.edu/~alumni/\n',
 477: 'http://www.ugcs.caltech.edu/~maron/\n',
 478: 'http://www.admissions.caltech.edu/faculty.htm\n',
 479: 'http://yorty.sonoma.edu/people/faculty/tenn/BMtext.html\n',
 480: 'http://www.cco.caltech.edu/~af/\n',
 481: 'http://www.his.com/~graeme/employ.html\n',
 482: 'http://www.jpl.nasa.gov\n',
 483: 'http://www.remaxhost.com/remaxsearch.asp\n',
 484: 'http://www.ltdselect.com/\n',
 485: 'http://www.sacramento-central.com/info.asp\n',
 486: 'http://www.sonomarohnerthomes.com/info.asp\n',
 487: 'http://www.metrorealty-anaheim.com/info.asp\n',
 488: 'http://www.country-properties.com/info.asp\n',
 489: 'http://www.losaltos-homes.com/info.asp\n',
 490: 'http://www.elcajon-homes.com/info.asp\n',
 491: 'http://www.sancarlos-homes.com/info.asp\n',
 492: 'http://www.porthueneme-homes.com/info.asp\n',
 493: 'http://www.westcovina-homes.com/info.asp\n',
 494: 'http://www.beverlyhills-homes.com/info.asp\n',
 495: 'http://www.lamesa-homes.com/info.asp\n',
 496: 'http://www.northsierrahomes.com/info.asp\n',
 497: 'http://www.lahonda-homes.com/info.asp\n',
 498: 'http://www.sanclemente-homes.com/info.asp\n',
 499: 'http://www.ojai-homes.com/info.asp\n',
 500: 'http://www.orangecoeast.com/info.asp\n',
 501: 'http://www.sandiego-executives.com/info.asp\n',
 502: 'http://www.laquinta-homes.com/info.asp\n',
 503: 'http://remaxofthedesert.com/info.htm\n',
 504: 'http://www.burbankhillside-homes.com/info.asp\n',
 505: 'http://www.santaclaravalley-homes.com/info.asp\n',
 506: 'http://www.victorville-homes.com/info.asp\n',
 507: 'http://www.huntingtonbeach-homes.com/info.asp\n',
 508: 'http://www.resultsrealty.com/info.asp\n',
 509: 'http://www.pv-rollinghills-homes.com/info.asp\n',
 510: 'http://www.sanjose-almaden.com/info.asp\n',
 511: 'http://www.pacific-properties.com/info.asp\n',
 512: 'http://www.yucaipa-homes.com/info.asp\n',
 513: 'http://www.calabasashomes.com/info.asp\n',
 514: 'http://www.realestate-sanjose.com/info.asp\n',
 515: 'http://www.action-properties.com/info.asp\n',
 516: 'http://www.shermanoaks-homes.com/info.asp\n',
 517: 'http://www.glendale-elite.com/info.asp\n',
 518: 'http://www.granadahills-homes.com/info.asp\n',
 519: 'http://www.poway-executives.com/info.asp\n',
 520: 'http://www.powayhomes.com/info.asp\n',
 521: 'http://www.sonomavalley-homes.com/info.asp\n',
 522: 'http://www.mtshasta-homes.com/info.asp\n',
 523: 'http://www.chico-homes.com/info.asp\n',
 524: 'http://www.vallejohomes.com/info.asp\n',
 525: 'http://www.uplandactionhomes.com/info.asp\n',
 526: 'http://www.commercehomesales.com/info.asp\n',
 527: 'http://www.groupsouthbay.com/info.asp\n',
 528: 'http://www.sangabriel-glendora.com/info.asp\n',
 529: 'http://www.manhattanbeach-homes.com/info.asp\n',
 530: 'http://www.losalamitos-homes.com/info.asp\n',
 531: 'http://www.duarte-sangabriel.com/info.asp\n',
 532: 'http://www.remax.com/balloon/\n',
 533: 'http://www.remax.com\n',
 534: 'http://id-www.ucsb.edu/detche/news.html\n',
 535: 'http://www.id.ucsb.edu/detche/news.html\n',
 536: 'http://www-instadv.ucsb.edu/InstAdv/alumni\n',
 537: 'http://www.psych.ucsb.edu/research/cep/campi.htm\n',
 538: 'http://www.math.ucsb.edu/\n',
 539: 'http://www.chemistry.ucsc.edu/Projects/TA/\n',
 540: 'http://www.instadv.ucsb.edu/instadv/visitors\n',
 541: 'http://humanitas.ucsb.edu/projects/pack/rom-chrono/board.htm\n',
 542: 'http://www.ece.ucsb.edu/description.html\n',
 543: 'http://eci2.ucsb.edu/\n',
 544: 'http://ucsbuxa.ucsb.edu/art-history/content.htm\n',
 545: 'http://www.engineering.ucsb.edu/ucsb.html\n',
 546: 'http://www.deepspace.ucsb.edu/AbtUCSB.htm\n',
 547: 'http://vivaldi.ece.ucsb.edu/users/ras/resume.html\n',
 548: 'http://www.vol.it/mirror/humanitas/shuttle/hilights.html\n',
 549: 'http://charm.physics.ucsb.edu/people/hnn/conduct/acad_cond.html\n',
 550: 'http://www.math.ucsb.edu/~map/\n',
 551: 'http://www.me.ucsb.edu/\n',
 552: 'http://charm.physics.ucsb.edu/people/hnn/hnn.html\n',
 553: 'http://eci2.ucsb.edu/ce/faculty/\n',
 554: 'http://www.geol.ucsb.edu/campus/ucsb.html\n',
 555: 'http://saguaro.f.chiba-u.ac.jp/vosMirror/hilights.html\n',
 556: 'http://www.physics.ucsb.edu/~airboy/\n',
 557: 'http://zim.com/gjlane/sciencetxt.htm\n',
 558: 'http://www.math.ucsb.edu/gradinfo/\n',
 559: 'http://www.cs.ucsb.edu/germany/\n',
 560: 'http://www.crseo.ucsb.edu/crseo.html\n',
 561: 'http://www.admit.ucsb.edu/\n',
 562: 'http://lifesci.ucsb.edu/BMB/index.html\n',
 563: 'http://www.gsa.ucsb.edu/\n',
 564: 'http://yellowstone.ece.ucsb.edu/index.html\n',
 565: 'http://www.engineering.ucsb.edu/me/\n',
 566: 'http://yellowstone.ece.ucsb.edu/~angela/index.html\n',
 567: 'http://www.icess.ucsb.edu/opl/opl.html\n',
 568: 'http://www.resnet.ucsb.edu/rcc/index.htm\n',
 569: 'http://hep.ucsb.edu/people/\n',
 570: 'http://eci2.ucsb.edu/~debu/\n',
 571: 'http://eci.ucsb.edu/ce/faculty/\n',
 572: 'http://yellowstone.ece.ucsb.edu/~jym/index.html\n',
 573: 'http://sis.ucsb.edu/index.html\n',
 574: 'http://www.cs.ucsb.edu/~aduncan/\n',
 575: 'http://yellowstone.ece.ucsb.edu/~huang/index.html\n',
 576: 'http://www.geol.ucsb.edu/~nevins/home_page/dean.html\n',
 577: 'http://www.me.ucsb.edu/~geir/gpers.html\n',
 578: 'http://www.cs.ucsb.edu/~denis/\n',
 579: 'http://www.me.ucsb.edu/~asb/yangme.html\n',
 580: 'http://www.engineering.ucsb.edu/~beltz/\n',
 581: 'http://www.cs.ucsb.edu/~jmark/\n',
 582: 'http://events.sa.ucsb.edu\n',
 583: 'http://www-instadv.ucsb.edu/InstAdv/AlumniAssociation/AlumniMAINHomePage\n',
 584: 'http://www.sb.net/gauchos/\n',
 585: 'http://www.artsandlectures.ucsb.edu/\n',
 586: 'http://www.xlrn.ucsb.edu./\n',
 587: 'http://www.sa.ucsb.edu\n',
 588: 'http://ucsbuxa.ucsb.edu/Human-Resources/Employment/\n',
 589: 'http://id-www.ucsb.edu/IR/CampusMap/UCSBmap.html\n',
 590: 'http://www.catalog.ucsb.edu/\n',
 591: 'http://washingtonpost.com/wp-srv/national/longterm/50states/ca.htm\n',
 592: 'http://wp2.washingtonpost.com/wp-srv/sports/longterm/sportusa/ca/ca.htm\n',
 593: 'http://sun3.lib.uci.edu/~dtsang/netnews1.htm\n',
 594: 'http://www.weatherpost.com/wp-srv/weather/cities/59l.htm\n',
 595: 'http://www.politicalaccess.com/medialinks.htm\n',
 596: 'http://fermi.jhuapl.edu/states/ca_0.html\n',
 597: 'http://www.sfgate.com/\n',
 598: 'http://www.latimes.com/HOME/\n',
 599: 'http://www.uniontrib.com/\n',
 600: 'http://www.bakersfield.com/\n',
 601: 'http://www.sacbee.com/\n',
 602: 'http://www.sjmercury.com/\n',
 603: 'http://www.ocregister.com/\n',
 604: 'http://www.state.ca.us/\n',
 605: 'http://www.ca.gov/s/govt/constoff.html\n',
 606: 'http://www.ca.gov/s/govt/legisca.html\n',
 607: 'http://www.ca.gov/s/govt/cfederal.html\n',
 608: 'http://www.census.gov/datamap/www/06.html\n',
 609: 'http://uts.cc.utexas.edu/~scring/index.html\n',
 610: 'http://www.nps.gov/yose/\n',
 611: 'http://www.winezone.com/\n',
 612: 'http://www.itlnet.com/main/holywood.html\n',
 613: 'http://mry.infohut.com/phototour/home.htm\n',
 614: 'http://www.earthwaves.com/califneq.html\n',
 615: 'http://www.weatherpost.com/navpages/citylists/nf_northerncalifornia.htm\n',
 616: 'http://www.weatherpost.com/navpages/citylists/nf_centralcalifornia.htm\n',
 617: 'http://www.weatherpost.com/navpages/citylists/nf_southerncalifornia.htm\n',
 618: 'http://www.weatherpost.com/\n',
 619: 'http://www.siue.edu/~jvoller/Authors/p.html\n',
 620: 'http://www.tamu-commerce.edu/coas/history/sarantakes/new.html\n',
 621: 'http://violet.berkeley.edu:7000/\n',
 622: 'http://www.ucpress.edu/epub/index.html\n',
 623: 'http://simon592-4.law.berkeley.edu/links.html\n',
 624: 'http://library.berkeley.edu:8080/ucalpress/journals/\n',
 625: 'http://sunsite.Berkeley.EDU/Collections/\n',
 626: 'http://www.sc.edu/ltantsoc/\n',
 627: 'http://biosci.umn.edu/~eyoung/links/links.html\n',
 628: 'http://www.music.indiana.edu/music_resources/journals.html\n',
 629: 'http://www.law.berkeley.edu/~elq/subscrpn.html\n',
 630: 'http://www-resources.berkeley.edu/nhpteaching/s_z/\n',
 631: 'http://globetrotter.berkeley.edu/region/eastasia.html\n',
 632: 'http://www.lib.berkeley.edu:8080/ucalpress/journals/ncm/\n',
 633: 'http://www.umich.edu/~philos/faculty.html\n',
 634: 'http://www.library.vanderbilt.edu/law/acqs/pubr/univ.html\n',
 635: 'http://ernie.lang.nagoya-u.ac.jp/~matsuoka/Victorian.html\n',
 636: 'http://lang.nagoya-u.ac.jp/~matsuoka/Victorian.html\n',
 637: 'http://ls.berkeley.edu/dept/classics/\n',
 638: 'http://www.sciencekomm.at/zeitschr/landw.html\n',
 639: 'http://www.fusl.ac.be/Files/General/BCS/RevElectr.html/\n',
 640: 'http://www.lang.nagoya-u.ac.jp/~matsuoka/UK-authors.html\n',
 641: 'http://www.globaldialog.com/~thefko/tom/gi_kurosawa.html\n',
 642: 'http://muspe1.cirfid.unibo.it/biblio/links/linmus.htm\n',
 643: 'http://www.uba.uva.nl/nl/e-diensten/aicweb/klassiek/klaalg.html\n',
 644: 'http://www.bway.net/~seatopia/Links.html\n',
 645: 'http://www.anatomy.su.oz.au/danny/book-reviews/h/Cross-Cultural_Filmmaking.html\n',
 646: 'http://www.geocities.com/Hollywood/9766/baxter.html\n',
 647: 'http://www.press.uchicago.edu/Others/AAUP/\n',
 648: 'http://www.emory.edu/LIVING_LINKS/i/people_HTML/franscv.html\n',
 649: 'http://www.library.vanderbilt.edu/central/english.html\n',
 650: 'http://www.wi.leidenuniv.nl/~mchabab/morocco.html\n',
 651: 'http://www.indiana.edu/~victoria/journals.html\n',
 652: 'http://www.swan.ac.uk/german/links/books.htm\n',
 653: 'http://www.independentreader.com/books/bp1320.html\n',
 654: 'http://weber.u.washington.edu/~kendo/books.html\n',
 655: 'http://mirage.usra.edu/esse/\n',
 656: 'http://www.yahoo.com/Science/Cognitive_Science/Music_Cognition/index.html\n',
 657: 'http://musdra.ucdavis.edu/\n',
 658: 'http://www.osw.com/\n',
 659: 'http://www.ivri-nasawi.org/links.html\n',
 660: 'http://www.cais.net/ipsjps/journal.html\n',
 661: 'http://www.arl.org/scomm/epub/papers/humphreys.html\n',
 662: 'http://www.ex.ac.uk/~gjlramel/socbees.html\n',
 663: 'http://www.indiana.edu/~amhrev/history.htm\n',
 664: 'http://www.lib.uci.edu/home/collect/art/music.html\n',
 665: 'http://www.pomoerium.de/links/journals.htm\n',
 666: 'http://www.abo.fi/library/links/ej/\n',
 667: 'http://www.mystic.org/~alhfam/alhfam.links.html\n',
 668: 'http://www.ucpress.edu/index.html\n',
 669: 'http://lib-www.ucr.edu/infomine/reference/balref.html\n',
 670: 'http://cnas.ucr.edu/~physics/Info/cnasreq.html\n',
 671: 'http://www.telacommunications.com/search/srchmed.htm\n',
 672: 'http://www.unex.ucr.edu/iep.html\n',
 673: 'http://library.ucr.edu/pubs/navigate.html\n',
 674: 'http://www.msg.ucr.edu/mss.html\n',
 675: 'http://library.ucr.edu/pubs/facnews/spr97.html\n',
 676: 'http://www.clark.net/pub/lschank/web/search.html\n',
 677: 'http://www.mnsfld.edu/depts/lib/start.html\n',
 678: 'http://www.mnsfld.edu/~library/search.html\n',
 679: 'http://www.kaiwan.com/~lucknow/horus/etexts/index-e.html\n',
 680: 'http://www.ipl.org/ref/RR/static/I.html\n',
 681: 'http://groton.k12.ct.us/WWW/pol/mtsb/iid01/sg02i.htm\n',
 682: 'http://wizard.ucr.edu/~nagler/nagler_home.html\n',
 683: 'http://citrus.ucr.edu/~bob/\n',
 684: 'http://citrus.ucr.edu/~werner/\n',
 685: 'http://www-sci.lib.uci.edu/HSG/RefMedia.html\n',
 686: 'http://www.rpi.edu/~cearls/rlpa-m.htm\n',
 687: 'http://sfpl.lib.ca.us/gencoll/gencolhi.htm\n',
 688: 'http://www.auburn.edu/~deanrob/webmarks/photoidx.htm\n',
 689: 'http://www.ags.uci.edu/~jcharris/marks.htm\n',
 690: 'http://sun2.lib.uci.edu/HSG/RefMedia.html\n',
 691: 'http://www-sci.lib.uci.edu/~martindale/RefMedia.html\n',
 692: 'http://wizard.ucr.edu/~kmcneill/\n',
 693: 'http://galaxy.ucr.edu/\n',
 694: 'http://members.aol.com/dann01/webguide.html\n',
 695: 'http://www.darwin.ucr.edu/ajt/\n',
 696: 'http://www.lib.berkeley.edu/TeachingLib/Guides/Internet/Jensen.html\n',
 697: 'http://members.aol.com/DAnn01/webguide.html\n',
 698: 'http://wizard.ucr.edu/~rhannema/\n',
 699: 'http://www.latinsynergy.org/tp8.htm\n',
 700: 'http://www.cs.ucr.edu/~ychiu/\n',
 701: 'http://olympia.ucr.edu/davec/funstuff.html\n',
 702: 'http://www.kaiwan.com/~lucknow/study1/discuss1.html\n',
 703: 'http://wizard.ucr.edu/polisci/\n',
 704: 'http://www.vislab.ucr.edu/\n',
 705: 'http://users.ox.ac.uk/~worc0337/phil_pages_g-l.html\n',
 706: 'http://clnet.ucr.edu/people/people.html\n',
 707: 'http://www.intercom.es/links/026.html\n',
 708: 'http://www.andrews.edu/library/electronic/subject.html\n',
 709: 'http://www.library.yale.edu/Internet/slavic.html\n',
 710: 'http://www.graddiv.ucr.edu/\n',
 711: 'http://constitution.ucr.edu/\n',
 712: 'http://www.vtt.fi/inf/inflinks/aihelu.htm\n',
 713: 'http://www.cs.ucr.edu/~asu/\n',
 714: 'http://www.interlog.com/~cjrutty/HHRS/MedHist.html\n',
 715: 'http://www.etek.chalmers.se/~armod30/index.html\n',
 716: 'http://www.ucop.edu/ucophome/auc/demoweb.html\n',
 717: 'http://www.music.ucr.edu/musichomepage.html\n',
 718: 'http://www.students.ucr.edu/\n',
 719: 'http://www.sol.no/tryggdata/gbook/guestbook.html\n',
 720: 'http://www.bakersfield-business.com/links.htm\n',
 721: 'http://www.bakersfieldcalifornia.com/index.htm\n',
 722: 'http://www.california-business.com/\n',
 723: 'http://www.bakersfieldgateway.com/\n',
 724: 'http://www.bakersfieldcalif-rlg.org/Index2.htm\n',
 725: 'http://www.tegnet.net/PriceGuide/index.htm\n',
 726: 'http://www.bakersfieldcalifornia.org/Political/index.htm\n',
 727: 'http://www.bakersfieldcalif-edu.net/Districs/index.htm\n',
 728: 'http://www.TEGNet.Net/TheTEGNetRail/index.htm\n',
 729: 'http://www.BakersfieldGateway.Com\n',
 730: 'http://www.BakersfieldCalifornia.Com\n',
 731: 'http://www.BakersfieldCalifornia.Net/index2.htm\n',
 732: 'http://www.BakersfieldCalifornia.Org/index2.htm\n',
 733: 'http://www.BakersfieldCalif-Edu.Net/index2.htm\n',
 734: 'http://www.BakersfieldCalif-Rlg.Org/index2.htm\n',
 735: 'http://www.TEGNet.Net/PriceGuide/index.htm\n',
 736: 'http://www.TEGNet.Net\n',
 737: 'http://www.hexagon.net\n',
 738: 'http://www.ljgrafx.com\n',
 739: 'http://www.kahane.com/links.html\n',
 740: 'http://www.iav.com/travel.html\n',
 741: 'http://www.ksc.nasa.gov/shuttle/missions/sts-59/mission-sts-59.html\n',
 742: 'http://www.citylimits.com/resources/\n',
 743: 'http://www.icsi.berkeley.edu/~grannes/\n',
 744: 'http://server3.pa-x.dec.com/SRC/virtual-tourist/final/CaliforniaRetail-florists.html\n',
 745: 'http://glimpse.cs.arizona.edu/~paul/\n',
 746: 'http://swix.ch/clan/aburkert/links.htm\n',
 747: 'http://www-flash.stanford.edu/~kinshuk/\n',
 748: 'http://users.mwci.net/~lapoz/MBio.html\n',
 749: 'http://www.calif.com/thousands.htm\n',
 750: 'http://www.mckinley.com/magellan/Reviews/Regional/Countries/North_America/United_States/West/California/index.magellan.html\n',
 751: 'http://www-csag.cs.uiuc.edu/individual/jplevyak/hotlist.html\n',
 752: 'http://www.cmpcmm.com/thousands.htm\n',
 753: 'http://www.sevilleprop.com/community.html\n',
 754: 'http://www.law.vill.edu/State-Agency/california.html\n',
 755: 'http://www.travigator.com/californ.htm\n',
 756: 'http://http.cs.berkeley.edu/~ghorm/conference_list.html\n',
 757: 'http://cs.caltech.edu/~adam/LOCAL/refs.html\n',
 758: 'http://www.rahul.net/brett/web-pointers.html\n',
 759: 'http://www.students.eng.wayne.edu/~nmd1/school.html\n',
 760: 'http://www.seas.ucla.edu/~liding/refs.html\n',
 761: 'http://www.csusm.edu/public/ryo001/home_page.html\n',
 762: 'http://www-ccs.cs.umass.edu/~kamath/experience.html\n',
 763: 'http://www.cs.caltech.edu/~adam/local/refs.html\n',
 764: 'http://www.kaiwan.com/~ron/ron.html\n',
 765: 'http://www.rahul.net/tipparam/\n',
 766: 'http://www.srl.caltech.edu/personnel/tlg.html\n',
 767: 'http://ftp.senate.gov/member/ca/boxer/general/txtpage.html\n',
 768: 'http://www.cccd.edu/dis/gov.html\n',
 769: 'http://www.soc.hawaii.edu/~leonj/leonj/leonpsy/psy409a/harada/labreport.html\n',
 770: 'http://www-isl.stanford.edu/people/glp/\n',
 771: 'http://www.lacma.org/hotlist.htm\n',
 772: 'http://www-suif.stanford.edu/~nieh/lgc/lgc.html\n',
 773: 'http://theory.stanford.edu/people/chekuri/\n',
 774: 'http://theory.stanford.edu/~chekuri/\n',
 775: 'http://dizzy.library.arizona.edu/users/mount/travel.html\n',
 776: 'http://www.4less.com/buffalochips/blinks.html\n',
 777: 'http://snoopy.gsfc.nasa.gov/~orfeus2/fd17.html\n',
 778: 'http://www.community.net/~takeda/matthew.html\n',
 779: 'http://www.softsmith.com/hotlist.html\n',
 780: 'http://www.dynalogic.com/pizzapower/catour.html\n',
 781: 'http://www.cnl.salk.edu/~olivier/\n',
 782: 'http://www.webthumper.com/websites.html\n',
 783: 'http://www.almac.co.uk/personal/gstrachan/links.htm\n',
 784: 'http://www.co.riverside.ca.us/gov/state.htm\n',
 785: 'http://www.compu.net/sites/recreation.html\n',
 786: 'http://beta.ece.ucsb.edu/~wesc/hotlist.html\n',
 787: 'http://www.gocalif.ca.gov\n',
 788: 'http://www.paranoia.com/~ebola/newhot4.html\n',
 789: 'http://www.well.com/user/fap/6254.htm\n',
 790: 'http://www.datadepot.com/~patriot/htmlaw.htm\n',
 791: 'http://www.echotech.com/legal.htm\n',
 792: 'http://pw1.netcom.com/~bumper09/links.html\n',
 793: 'http://www.cedar.ca.gov/military/stateleg.html\n',
 794: 'http://www.sccoe.k12.ca.us/bigindex.htm\n',
 795: 'http://www.ns.net/dlecci/statelaw.htm\n',
 796: 'http://www.findlaw.com/07cle/cle/3mcle_cal.html\n',
 797: 'http://www.mother.com/~randy/ca.html\n',
 798: 'http://www.law.emory.edu/LAW/refdesk/country/us/state/california.html\n',
 799: 'http://vorp.org/rjlegis.html\n',
 800: 'http://members.aol.com/DanLungren/DanLungren.html\n',
 801: 'http://www.ca.gov/s/search/topc3a-z.html\n',
 802: 'http://www.state.ca.us/s/search/topc3a-z.html\n',
 803: 'http://www.hronline.org/consult/egsites.htm\n',
 804: 'http://www.subsonic.com/~lomt82/links.htm\n',
 805: 'http://www.senate.ca.gov/\n',
 806: 'http://www.sen.ca.gov//\n',
 807: 'http://home.earthlink.net/~hn0526/castatut.html\n',
 808: 'http://ceres.ca.gov/env_law/govatty.html\n',
 809: 'http://www.ceres.ca.gov/env_law/govatty.html\n',
 810: 'http://www.webcom.com/~peace/PEACTREE/resources.html\n',
 811: 'http://tahoe.lib.csubak.edu/Dave/govt/california.html\n',
 812: 'http://www.autoaccident.com/calres.html\n',
 813: 'http://www.ci.torrance.ca.us/city/dept/library/GOVERN.HTM\n',
 814: 'http://www.lamission.cc.ca.us/law/indexdoc.htm\n',
 815: 'http://www.thegrid.net/tristant/links/\n',
 816: 'http://www.quiknet.com/~frcn/pastlink.html\n',
 817: 'http://www.calbar.org/govinfo.htm\n',
 818: 'http://seamless.com/alawyer/criminal-links.html\n',
 819: 'http://www.svn.net/legaltek/index.htm\n',
 820: 'http://www.davisbrown.com/legallnk.html\n',
 821: 'http://www.politicalaccess.com/govresource.htm\n',
 822: 'http://www.ca.lwv.org/lwvc.files/links.html\n',
 823: 'http://www.sandiego.courts.ca.gov/superior/links.html\n',
 824: 'http://www.instanet.com/~pfc/index.html\n',
 825: 'http://www.asis.com/~edenson/lawresearch.html\n',
 826: 'http://www.dot.ca.gov/hq/MassTrans/ostp.htm\n',
 827: 'http://www.wolfenet.com/~dhillis/STATECAL.HTM\n',
 828: 'http://ca.lwv.org/lwvc.files/links.html\n',
 829: 'http://libweb.sonoma.edu/Resources/legal.html\n',
 830: 'http://lawlib.wuacc.edu/washlaw/uslaw/uslal_co.html\n',
 831: 'http://www.netxn.com/~kclib/califref.html\n',
 832: 'http://www.library.ucsb.edu/subj/govt-cal.html\n',
 833: 'http://www.cyberg8t.com/mlms/Program.html\n',
 834: 'http://www.lifeinsurance.net/links.htm\n',
 835: 'http://library.csun.edu\n',
 836: 'http://search.csun.edu:9886/\n',
 837: 'http://www.csc.calpoly.edu/~open_house/\n',
 838: 'http://www.ess.calpoly.edu/_admiss/\n',
 839: 'http://www.lib.calpoly.edu/\n',
 840: 'http://www.cob.calpoly.edu/SBulletin/openclass.html\n',
 841: 'http://www.housing.calpoly.edu/\n',
 842: 'http://www.ess.calpoly.edu/_records/\n',
 843: 'http://www.fmdc.calpoly.edu/hr/cob.htm\n',
 844: 'http://www.fmdc.calpoly.edu/hr/\n',
 845: 'http://www4.usnews.com/usnews/edu/home.htm\n',
 846: 'http://law.house.gov/107.htm\n',
 847: 'http://www.igc.apc.org/rbeers/download.html\n',
 848: 'http://first-webmaster.com/smcba/tel_law_index.html\n',
 849: 'http://www.ca-probate.com/results.htm\n',
 850: 'http://www.value.net/%7Emarkwelch/famlaw.htm\n',
 851: 'http://www.legalethics.com/states/ca.htm\n',
 852: 'http://www.milbank.com/library/libprof.html\n',
 853: 'http://www.law.ucla.edu/Research/states.html\n',
 854: 'http://www.law.cornell.edu/library/ethbib.html\n',
 855: 'http://www.uaa.alaska.edu/just/links/public.html\n',
 856: 'http://www.collegehill.com/ilp-news/krakaur.html\n',
 857: 'http://www.value.net/~markwelch/links.htm\n',
 858: 'http://www.hg.org/multi.html\n',
 859: 'http://www.appellate-counsellor.com/resource.htm\n',
 860: 'http://www.ilw.com/wasser/profile.htm\n',
 861: 'http://www.lawresearch.com/v2/ctrust.htm\n',
 862: 'http://www.lawinfo.com/self-help/general.html\n',
 863: 'http://www.usc.edu/dept/law-lib/legal/ca.html\n',
 864: 'http://www.sflegal.net/general_legal/\n',
 865: 'http://www.mother.com/~randy/intnetres.html\n',
 866: 'http://www.kaiwan.com/~ccwcj/ccwcj.html\n',
 867: 'http://www.fresno.edu/pacs/duanerh.html\n',
 868: 'http://law.house.gov/93.htm\n',
 869: 'http://www.legalethics.com/pa/cal/californ.htm\n',
 870: 'http://www.vix.com/free/conf/mcle.html\n',
 871: 'http://www.alexion.com/~alexion/resource/state.htm\n',
 872: 'http://kfwb.com/lawlinks.html\n',
 873: 'http://www.goodmanlaw.com/lglrsrch.htm\n',
 874: 'http://www.dicarlolaw.com/MyFavoriteBookmarks.htm\n',
 875: 'http://www.webbound.com/links/legal.html\n',
 876: 'http://www.launet.com/Law.Links.Page.htm\n',
 877: 'http://haas.berkeley.edu/~malhotra/Group3/links.htm\n',
 878: 'http://www.pacific.net/~lawlib/callegal.htm\n',
 879: 'http://www.garlic.com/~rftw/attorney.htm\n',
 880: 'http://www.unex.ucr.edu/law/barassoc.html\n',
 881: 'http://www.lawsch.uga.edu/legalwww/statelaw.html\n',
 882: 'http://www.well.com/user/acalonne/californ.htm\n',
 883: 'http://www.acfc.org/lkintern.htm\n',
 884: 'http://www.csulb.edu/~jvancamp/prelaw.html\n',
 885: 'http://www.law.lmu.edu/library/toc.htm\n',
 886: 'http://www.calsb.org\n',
 887: 'http://www.calsb.org/rm/brelsch.htm\n',
 888: 'http://www.unites.uqam.ca/ideas/data/Series.html\n',
 889: 'http://www.sitel.uqam.ca/ideas/data/Papers/fthcalaec05-97.html\n',
 890: 'http://WWW.sen.ca.gov/sor/\n',
 891: 'http://www.ecovote.org/ecovote/legtrck.html\n',
 892: 'http://www.mother.com/~bowen/cap_cal.htm\n',
 893: 'http://www.cagop.org/casenate.htm\n',
 894: 'http://www.bennett.com/COPS/domesticandviolence.htm\n',
 895: 'http://www.elder.org/calleg.htm\n',
 896: 'http://sen.ca.gov/ftp/sen/_WHATNEW.HTM\n',
 897: 'http://www.ferretnews.org/archive.html\n',
 898: 'http://www.california-adoption.org/legislation.html\n',
 899: 'http://www.assembly.ca.gov/demweb/budwatch.htm\n',
 900: 'http://sun3.lib.uci.edu/~ocweb/issues/nr/nr03145.html\n',
 901: 'http://www.ocf.berkeley.edu/~caldems/stategovt.html\n',
 902: 'http://www.smogcheck.ca.gov/000138.htm\n',
 903: 'http://www.webcom.com/cvf/96pri/links.html\n',
 904: 'http://www.opelclub.com/public/smog.php3\n',
 905: 'http://www.calpoly.edu/~dchippin/leg3.html\n',
 906: 'http://www.sonnet.com/CriminalJusticeReform/bills.html\n',
 907: 'http://www.websandiego.com/community/government/govern.html\n',
 908: 'http://www.planetout.com/newsplanet/article.html$1998/01/15/4\n',
 909: 'http://www.clrc.ca.gov/bills.html\n',
 910: 'http://www.lafn.org/politics/gvdc/WebDemocrats.html\n',
 911: 'http://www.pegnet.com/linklist.htm\n',
 912: 'http://www.losaltosonline.com/lwv/lwvfcal.html\n',
 913: 'http://www.ceres.ca.gov/elaw/pra_bills.html\n',
 914: 'http://www.ee.nmt.edu/~roy/mom.html\n',
 915: 'http://www.quiknet.com/~castseiu/calegcal.html\n',
 916: 'http://goldmine.cde.ca.gov/ftpbranch/sfpdiv/classize/curlegis.htm\n',
 917: 'http://www.webcom.com/kmc/adoption/law/ca/pending/index.html\n',
 918: 'http://www.sddt.com/government/rep.html\n',
 919: 'http://www.lawcomp.com/robert/valleysecede/involve.html\n',
 920: 'http://sun3.lib.uci.edu/~ocweb/issues/bills.html\n',
 921: 'http://www.calvoter.org/legguide/\n',
 922: 'http://www.electriciti.com/sdissues/cdpg3.html\n',
 923: 'http://www.clemens.org/nov97.htm\n',
 924: 'http://www.mckinley.com/magellan/Reviews/Politics_and_Law/Governments/United_States/State/California/index.magellan.html\n',
 925: 'http://www.racingfairs.org/legislte.html\n',
 926: 'http://www.ci.el-cerrito.ca.us/calstate.htm\n',
 927: 'http://www.glue.umd.edu/~cliswp/Politicians/State/ca.html\n',
 928: 'http://www.ppacca.org/lobby.html\n',
 929: 'http://www.psnw.com/~deb/gov_connect.html\n',
 930: 'http://www.leginfo.ca.gov/sen-addresses.html\n',
 931: 'http://www.assembly.ca.gov/lbcweb/default.htm\n',
 932: 'http://www.assembly.ca.gov/latinoCaucus/\n',
 933: 'http://www.leginfo.ca.gov/doc/senate_ses_sched\n',
 934: 'http://www.lao.ca.gov/1998_june_ballot.html\n',
 935: 'http://www.webcom.com/cvf/\n',
 936: 'http://www.fec.gov/\n',
 937: 'http://www.intranet.csupomona.edu/~artic/2cerrito.htm\n',
 938: 'http://www.ag.csupomona.edu/agri/people/faculty_staff.htm\n',
 939: 'http://www.ent.csupomona.edu/ime/mstrcal1.htm\n',
 940: 'http://www.intranet.csupomona.edu/~sciman/\n',
 941: 'http://www.enthuz.com/mailroom/\n',
 942: 'http://www.intranet.csupomona.edu/~intranet/services/\n',
 943: 'http://www.intranet.csupomona.edu/~dsa/enrolled.htm\n',
 944: 'http://www.class.csupomona.edu/pls/pls.html\n',
 945: 'http://www.cisdept.csupomona.edu/techexpo.htm\n',
 946: 'http://www.faculty.csupomona.edu/lab/web/\n',
 947: 'http://www.intranet.csupomona.edu/~biology/gradprog.htm\n',
 948: 'http://www.intranet.csupomona.edu/~dhanne/subjects.html\n',
 949: 'http://www.intranet.csupomona.edu/~tchumphrey/www/eng301f97/analylinks.html\n',
 950: 'http://www.class.csupomona.edu/his/skpuz/IGE220/IGEOtherLinks.html\n',
 951: 'http://www.intranet.csupomona.edu/~cwhuang/library/DocDel/\n',
 952: 'http://www.intranet.csupomona.edu/~jcclark/tutor/ontheweb.html\n',
 953: 'http://www.intranet.csupomona.edu/~cwhuang/library/DocDel/order_option.html\n',
 954: 'http://www.intranet.csupomona.edu/~tchumphrey/www/eng301f97/301f97.index.html\n',
 955: 'http://www.intranet.csupomona.edu/~math/\n',
 956: 'http://www.intranet.csupomona.edu/~llsoe/cis431/techexpo.htm\n',
 957: 'http://www.intranet.csupomona.edu/~advancement/arabian.html\n',
 958: 'http://www.intranet.csupomona.edu/~jhwei/perchlorate/index.html\n',
 959: 'http://www.intranet.csupomona.edu/~jekarayan/\n',
 960: 'http://www.geocities.com/Hollywood/3276/\n',
 961: 'http://mango.sci.csupomona.edu/\n',
 962: 'http://www.intranet.csupomona.edu/~dsa/staff.htm\n',
 963: 'http://www.ecst.csuchico.edu/~droopy/cetilinks.html\n',
 964: 'http://www.ecst.csuchico.edu/~gregbard/links.html\n',
 965: 'http://cmdept.lab.csuchico.edu/class.htm\n',
 966: 'http://www.ecst.csuchico.edu/~ljseder/\n',
 967: 'http://www.tahperd.sfasu.edu/links3.html\n',
 968: 'http://www.ecst.csuchico.edu/~pkrause/mins110.html\n',
 969: 'http://library.csuchico.edu/\n',
 970: 'http://web.calacademy.org/\n',
 971: 'http://www.envirolink.org/species/oinsect.html\n',
 972: 'http://www.fossil-company.com/sites/north_america/california.html\n',
 973: 'http://scilib.ucsd.edu/sio/guide/guides.html\n',
 974: 'http://www.sonic.net/~playland/aquarium/\n',
 975: 'http://cas.calacademy.org/~library/newacq/octdec96.html\n',
 976: 'http://envirolink.org/species/oamphib.html\n',
 977: 'http://www.newscientist.com/keysites/hotspots/general.html\n',
 978: 'http://gause.biology.ualberta.ca/courses.hp/zoo260.hp/biology.html\n',
 979: 'http://www.best.com/~childers/leon_e_salanave.shtml\n',
 980: 'http://www.esri.com/users/conservation/links/species.html\n',
 981: 'http://www.nsplus.com/keysites/hotspots/general.html\n',
 982: 'http://www.biology.ualberta.ca/courses.hp/zoo260.hp/biology.html\n',
 983: 'http://members.aol.com/FHSoil/JohnW.html\n',
 984: 'http://www.ucmp.berkeley.edu/collections/otherphy.html\n',
 985: 'http://www.csun.edu/~hcgeo003/\n',
 986: 'http://paloalto.miningco.com/library/weekly/aa120197.htm\n',
 987: 'http://travelconnections.com/Destinations/Usa/California/SanFrancisco/Museumsbody.htm\n',
 988: 'http://www.cctrap.com/~karlako/summer.HTM\n',
 989: 'http://www.inhs.uiuc.edu/cbd/ASPT/jobsold.html\n',
 990: 'http://www.umsl.edu/~s1008864/Revillagigedo_Archipelago.html\n',
 991: 'http://www.yahoo.com/San_Francisco_Bay_Area/Entertainment_and_Arts/Museums_and_Exhibits/California_Academy_of_Sciences/\n',
 992: 'http://www-leland.stanford.edu/~bkunde/whoam.html\n',
 993: 'http://www.herbaria.harvard.edu/china/mss/cas.htm\n',
 994: 'http://www.microtec.net/~pcbcr/science.html\n',
 995: 'http://www.virtualvoyages.com/usa/ca/s_f/sf_muse.htm\n',
 996: 'http://outcast.gene.com/ae/bioforum/\n',
 997: 'http://www.gene.com/ae/bioforum/\n',
 998: 'http://www.dnai.com/~ccate/TracyFlyLinks.html\n',
 999: 'http://frog.simplenet.com/froggy/sciam/faq.shtml\n',
 ...}

Try to answer the following

  1. Which node has the most incoming edges? (what's the value)
  2. Which node has the least outgoing edges? (what's the value)
  3. What is the top-ranked webpage according to pagerank?
  4. Make a scatter plot comparing node degree (i.e., # of edges) to pagerank.
In [30]:
# compute degrees
d_out = array(sum(A,axis=0)).T# sum over a row is called a node degree
d_in = array(sum(A,axis=1))# sum over a row is called a node degree

scatter(d_in,d_out)
xlabel('in degrees')
ylabel('out degrees')
Out[30]:
Text(0,0.5,'out degrees')
In [31]:
edge_weights = ones(len(edge_list[:,0]))
for e in range(len(edge_list[:,0])):
    i = int(edge_list[e,1])
    if d_out[i]>0:
        edge_weights[e] = edge_weights[e] / d_out[i]    

B = csc_matrix((edge_weights, (edge_list[:,0], edge_list[:,1])), shape=(N,N))

print(array(sum(B,axis=0)))
print(array(sum(B,axis=1)).T)
[[ 1.  1.  1. ...,  0.  0.  0.]]
[[ 4.47521645  0.14285714  1.25       ...,  0.          0.          0.49361432]]