Skip to content

Instantly share code, notes, and snippets.

@cjauvin
Last active August 29, 2015 14:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cjauvin/24d25f0aea66d1c439c3 to your computer and use it in GitHub Desktop.
Save cjauvin/24d25f0aea66d1c439c3 to your computer and use it in GitHub Desktop.
{
"metadata": {
"name": "",
"signature": "sha256:41cea5f34899e267827b752bc05259bbcb784fc8c59a8eaca8b68ef2e1cb156b"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Crawling Scheduler Sim"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The goal is to simulate traffic to a set of sites for which the only thing we know is their traffic ranks, which are not evenly distributed (i.e. they don't range from 1 to $n$). To model traffic in a realistic way, we use Zipf's law, which yields ranks according to a power law distribution (lower rank sites are exponentially more popular than higher rank ones)."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from __future__ import division, print_function\n",
"from collections import defaultdict\n",
"import numpy as np\n",
"import pandas as pd\n",
"import humanize\n",
"\n",
"df = pd.read_csv('data/short_ranks.csv', index_col=0)\n",
"df['global_rank'] = df.Global.str.replace(',', '').astype(float)\n",
"df['url'] = df.index\n",
"\n",
"print('# URLs =', len(df))\n",
"print('# URLs with distinct rank =', df.global_rank.nunique())\n",
"print('lowest rank =', int(np.min(df.global_rank)))\n",
"print('highest rank =', humanize.intword(int(np.max(df.global_rank))))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# URLs = 110583\n",
"# URLs with distinct rank ="
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
" 102416\n",
"lowest rank = 1\n",
"highest rank = 24.1 million\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Since the data contains more URLs than domains (hence many URLs having the same rank), we will only consider domains, which we can find by only retaining the ones having the fewest '.' characters. In a real setting, we would need to uniformly pick a URL whenever we want to simulate a visit to a rank for which we have many subdomains."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df.url[df.global_rank == 1]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 2,
"text": [
"accounts.google.com accounts.google.com\n",
"appengine.google.com appengine.google.com\n",
"books.google.com books.google.com\n",
"chrome.google.com chrome.google.com\n",
"ghs.google.com ghs.google.com\n",
"google.com google.com\n",
"ipv4.google.com ipv4.google.com\n",
"news.google.com news.google.com\n",
"play.google.com play.google.com\n",
"plus.google.com plus.google.com\n",
"sites.google.com sites.google.com\n",
"support.google.com support.google.com\n",
"translate.google.com translate.google.com\n",
"www.google.com www.google.com\n",
"Name: url, dtype: object"
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"rank_to_domain = defaultdict(str)\n",
"domain_to_rank = defaultdict(int)\n",
"\n",
"# ignore the NAs/NaN\n",
"for url, row in df[pd.notnull(df.global_rank)].iterrows():\n",
" rank = int(row.loc['global_rank'])\n",
" if not rank_to_domain[rank] or rank_to_domain[rank].count('.') > url.count('.'):\n",
" rank_to_domain[rank] = url\n",
" \n",
"for rank, url in rank_to_domain.iteritems():\n",
" domain_to_rank[url] = rank\n",
" \n",
"print('# domains =', len(rank_to_domain))\n",
"for i in range(1, 11):\n",
" print('rank %d: %s' % (i, rank_to_domain[i]))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"# domains = 102416\n",
"rank 1: google.com\n",
"rank 2: facebook.com\n",
"rank 3: youtube.com\n",
"rank 4: yahoo.com\n",
"rank 5: baidu.com\n",
"rank 6: wikipedia.org\n",
"rank 7: qq.com\n",
"rank 8: twitter.com\n",
"rank 9: linkedin.com\n",
"rank 10: taobao.com\n"
]
}
],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can now create a simulation function which will generate random ranks, according to Zipf's law. Since our URLs don't span the entire rank domain (which is not bounded anyway), we will simply reject any rank which we're not interested in."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"domain_to_sim_traffic = defaultdict(int)\n",
"\n",
"def simulate(n, zipf_exp=1.1):\n",
" global domain_to_sim_traffic\n",
" i = 0\n",
" while i < n:\n",
" rank = np.random.zipf(zipf_exp)\n",
" if not rank_to_domain[rank]: continue\n",
" domain_to_sim_traffic[rank_to_domain[rank]] += 1\n",
" i += 1\n",
" \n",
"%time simulate(1000000)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"CPU times: user 2.13 s, sys: 108 ms, total: 2.24 s\n",
"Wall time: 2.18 s\n"
]
}
],
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can now take a look at the extremes of the distribution, to see if the simulated traffic makes sense. The head (lowest ranks) is easier to analyse, because we can compare simulated ranks with the corresponding real ones (they should mostly match). The tail is really more noisy, but we can at least make sure that we didn't visit any very low rank domain too few times."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def report():\n",
" global domain_to_sim_traffic\n",
" sorted_sim = sorted(domain_to_sim_traffic.items(), key=lambda x: x[1], reverse=True)\n",
" print('head (domain, sim_traffic, sim_rank, real_rank):')\n",
" for rank, (domain, traffic) in enumerate(sorted_sim[:10]):\n",
" print('\\t', domain, traffic, rank+1, domain_to_rank[domain])\n",
" print('\\ntail (domain, sim_traffic, real_rank):')\n",
" for domain, traffic in sorted_sim[-10:]:\n",
" print('\\t', domain, traffic, domain_to_rank[domain])\n",
" print('\\n% of domains having been visited at least once =', \n",
" len(domain_to_sim_traffic) / len(domain_to_rank))\n",
" _, ax = subplots(figsize=(14, 8))\n",
" ax.bar(range(10), [t for d, t in sorted_sim[:10]], align='center', width=1)\n",
" ax.set_xticks(range(10))\n",
" ax.set_xticklabels([d for d, t in sorted_sim[:10]], rotation=45)\n",
" xlim([-0.5, 9.5])\n",
" \n",
"report()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"head (domain, sim_traffic, sim_rank, real_rank):\n",
"\t google.com 164808 1 1\n",
"\t facebook.com 77022 2 2\n",
"\t youtube.com 49091 3 3\n",
"\t yahoo.com 35784 4 4\n",
"\t baidu.com 27983 5 5\n",
"\t wikipedia.org 23008 6 6\n",
"\t qq.com 19305 7 7\n",
"\t twitter.com 16666 8 8\n",
"\t linkedin.com 14513 9 9\n",
"\t taobao.com 13029 10 10\n",
"\n",
"tail (domain, sim_traffic, real_rank):\n",
"\t www.bloggertipsseotricks.com 1 675593\n",
"\t www.dotnetfunda.com 1 21316\n",
"\t tours-tv.com 1 402675\n",
"\t www.workinsports.com 1 84777\n",
"\t www.ledevoir.com 1 23898\n",
"\t xcweather.co.uk 1 57867\n",
"\t reblo.net 1 156846\n",
"\t www.societyofrobots.com 1 156550\n",
"\t www.learn2type.com 1 209014\n",
"\t www.maiskizomba.com 1 120057\n",
"\n",
"% of domains having been visited at least once = 0.228675206999\n"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n+GPbtm07OzvbnjJlSujfs7ffftv+4IMPIjnFXu9Pf/qTnZmZaR84cMC2bdteuHChffvtt9sbN260\nP/30U9u27dBjsO2Kigp76tSp9ubNm+25c+fa9957r71p06bQ19yTTz5pv/vuu1/5PIihCDt69Khd\nV1dn33LLLfZNN91kf/TRR7Zt2/amTZvsESNG2A899FCEZ9h3HD161K6qqrKjoqLsVatW2bZt2xs3\nbrTvueceu6ioyN60aVOEZ9j7NDY22rfeeqt97bXXhv6B3rp1qx0bG2sXFxdHeHa9y9atW+3hw4fb\nGzdutG3btktLS+2ZM2faf/7zn0NrZ/oPuSNHjoQ+b29vt1esWGFfccUV9v333x8af/jhh+24uDjj\nA/t07dq1y54xY4b985//PDR266232jfddJP9s5/9zE5MTLT9fr9dVFRkb9iwIYIz/WodPXrUbm5u\ntqdOnWqPGjXKfvPNN23btu3m5mY7NzfXnjBhQo/n48S6r82BAwfsBx980Ha73faaNWtC4zk5OfYP\nf/jDSEyvT/j819eqVavsfv362U899ZRt27Z96NAh+7777rNnzpxpv/baa5GYYq/1zjvv2N/+9rft\nwsJC27Zt+/3337fvvPNO+6677rI3btz4tX7vcplcBNjdLrmxLEsDBw5Uv379tG3bNvXv318ul0uX\nXnqpLr/8cv3mN79Rdna2Bg0axGVdJ9D9lxUty9Kll16qzZs3a9WqVfrFL36hiy++WP379w9d6jV8\n+HB94xvfMHYtu3/tSVL//v114YUXateuXWppadF3vvMdeTweZWZmau7cuZo6dWro69M09ueuUW5t\nbdWTTz6pAwcO6Ec/+pHS09PV1NSkv/zlLzr//PN12WWX6cILLzzhtiboftlDMBhUZ2enRo0apbi4\nOO3cuVN79uxRRkaGbrjhBlmWpSuuuEIxMTERnnXv9fnv1a7f4du5c6cSExOVmJioCRMmKDY2Vpdd\ndpkKCgrU0NCgpUuX6mc/+9k5u7aWZemCCy5Qamqq3nrrLbW3t4d+sX/MmDH6y1/+ossuu0wXXXRR\n6Pnoqfv36yeffKILLrhAo0aNUmdnpzZv3qwLL7xQl1xyiX7605/qz3/+s6677joNHDgwwrPuXbqv\nYX19vT799FMNHz5cQ4cO1cMPP6whQ4Zo6NChGjVqlPx+v8aOHav+/ftHeNaR8/kbV8XExKh///56\n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\nj62tLfXr1/9H5HRLOUO/Iysri/Xr17N9+3a6dOnC48ePmThxIgYGBty6dYuEhASWL19OXFwcZ8+e\n5ejRo8oOuUIp/4THy8sLmUyGnp4eI0aMYMKECRgaGmJtbY2fnx+xsbEUFxcrOWLlKi0t5ciRI2ho\naKCtrc3q1au5cOECaWlpdO3alatXr9K0aVMsLCx49eoVZmZmis+q2gCr/B15IQSampps3LiRuLg4\nxo4dy5kzZzA1NeXLL7/k5MmTb+3jUvY5VVJ+adydO3cIDg4mMDCQzZs3k5mZSWhoKHv27GHatGnI\n5XLMzc2lu/W/o7i4GLlczrVr15g5cybz5s3D3d2d7Oxs2rdvT3Z2Np6enmhqarJ69WoGDRqkkstY\nJX9N2fF68+ZNOnTogI2NDR06dODmzZssXbqUVatW8cUXX1BUVIS3t7eSo6143t3QPTQ0lKNHj3Li\nxAn69u3LwIED0dDQwM3NDYDMzExq1aqlzJCVqnx7RUVFIYSgefPm+Pr6MmnSJBwdHdm4cSNJSUk8\ne/aMzMzMf0658Y9Ute6TUVZCsOxndna2GDBggIiJiVG85+DBg2LhwoWK36OiosS//vWvX5U1VnUR\nERFi/PjxIjExUezdu1cYGBiIb775Rujo6AhfX1/h7+8v+vfvL0aNGiWsra2lEqD/JyUlRdSvX19o\na2uLa9euKV5fu3atqFevnli9erVo3LixuHz5shBCqGwJ2rLv7ePjI3744QdFafbi4mIxdepU0a9f\nP5GdnS2EkEqjlvfLL7+IV69eiejoaBEYGCi6desmioqKxPfffy9atmwpnJ2dlR1ihZeQkKDoW5GR\nkWL06NFix44dQgghUlNThaOjo1i0aJHi/Tk5OUII1S3fLvlzysrcCyHEq1evxLRp08SFCxeEEEJM\nnDhRmJqaKs5pQUFBIjY2VhlhVnhFRUVCCCGuXr0qEhISxKxZs8To0aPF8OHDFcfkunXrxMmTJ5UZ\nZoWzbt060aVLF9G6dWsxf/584e/vL6KiooSRkZFo0qSJ+Oqrr0RERISyw/xbSc+myxHl0qcSExMp\nKCigevXqWFlZYW9vT35+PvDmjnJMTAyFhYUAGBgYsGvXLtq0aaOUuCuqFi1aUFhYyIIFC7hx4wY+\nPj6sWrUKT09Ppk6dSqVKlfD09GTbtm14enrSqlUrZYesVGX9r2bNmnz99dfUqlWL0NBQ4M2a+kWL\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x107f28f90>"
]
}
],
"prompt_number": 5
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As we keep simulating, the distribution's shape and head should not change much, although the tail will."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%time simulate(1000000)\n",
"report()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"CPU times: user 2.16 s, sys: 180 ms, total: 2.34 s\n",
"Wall time: 2.23 s\n",
"head (domain, sim_traffic, sim_rank, real_rank):\n",
"\t google.com 329407 1 1\n",
"\t facebook.com 153919 2 2\n",
"\t youtube.com 98828 3 3\n",
"\t yahoo.com 71534 4 4\n",
"\t baidu.com 56289 5 5\n",
"\t wikipedia.org 45888 6 6\n",
"\t qq.com 38467 7 7\n",
"\t twitter.com 33204 8 8\n",
"\t linkedin.com 29095 9 9\n",
"\t taobao.com 26088 10 10\n",
"\n",
"tail (domain, sim_traffic, real_rank):\n",
"\t www.praybuddy.com 1 281687\n",
"\t bucetasebundas.com 1 288751\n",
"\t tours-tv.com 1 402675\n",
"\t casinoroom.com 1 66053\n",
"\t www.jvn.com 1 64179\n",
"\t www.taxifarefinder.com 1 63189\n",
"\t reblo.net 1 156846\n",
"\t www.bestcoverletters.com 1 2156709\n",
"\t www.learn2type.com 1 209014\n",
"\t www.maiskizomba.com 1 120057\n",
"\n",
"% of domains having been visited at least once = 0.30929737541\n"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nEeohtnknX6tbt27VsWPH1KVLF8XGxupnP/uZJOnOO+/UjTfeGHj8P//5T2VmZuoPf/jDJX3VvqKi\nIi1btkwul0vf/va35Xa79eSTT2rQoEEaPXq0evfuraamJoWFhVn7HxNfxLPPPqtNmzapoqJCTz/9\ntGJiYrRu3Trt3LlTY8aM0fDhw0M9xDZv4cKFWrt2rfbv36+JEydq6NCh2rNnj5566in96Ec/0j33\n3MP3ok7dZ3vttddUUVGhpKQk9e/fX3/96181Z84cPfvss0pLS1Ntba0aGhq+/PcNtcARohBwHEdr\n167VjBkzlJSUpB07duipp57Sz372M3Xp0kVLlixRp06d+B/nszg5H7/85S+1aNEiVVRU6PXXX9f7\n77+vX//619qwYYOefPJJPfLII4qOjtZXv/rVEI849E6+KXv69OlKT09XaWmpXnjhBU2fPl09evRQ\nUVGRDhw4oAEDBujyyy9Xhw4drPzeO3n0dsWKFZo+fbr++Mc/aufOnerZs6cmTZqkl19+Wdu2bVNG\nRsZFvSxoe7BhwwY999xzKiws1D333KOlS5fK7/fr+9//vj755BP985//1ODBg3XllVeGeqhtmuM4\nWrNmje6//341Njbqxz/+sa6++mrdfffd2rJli8rKytStWzfFxMRIklwul8aPH39JX71qw4YNmj59\neuDIdXZ2tr71rW/p7rvv1m9/+1sdPnxYAwYMCFwRk9fjma1atUovvviilixZoqioKL300kvq3bu3\nxowZo/Lycr377ru69dZbFRYWxly2YtOmTVq4cKGKiork8XhUUVGhHTt2aMKECQoPD9fixYs1btw4\nfeUrX7F+Dk9u//PPP69f/vKX6tmzp1asWBG4OubVV1+tH/zgB/rmN7+pfv36XfyjaRft5DwYY/7v\n/PoZM2aYF198MbD8Jz/5ibntttuMMcb85je/CZwTjTP7+OOPTUZGRuBNoK+//rp55JFHAm8qHj9+\nvPnggw9COcSQO3kOblNTkzHGmJkzZ5pf/OIXgfsfffRRc9NNNxljTpz/zPs6Tti9e7cZMmSI2bFj\nh6msrDS/+tWvzOOPP24qKirM3//+dzN48GDzj3/845T3zNjos9v/5ptvmrvvvjvwmqypqTFxcXGm\noKDAHD582NTV1YVimO3K8ePHzcGDB01qaqpZvXq1MebE+0pjY2NNQUGBqa6uNjNnzjT/+Mc/QjzS\ni+s3v/mNmTdvXuBzr9dr+vbtaz766CPz+uuvcwGFs/jsazU3N9c8/PDDgc//93//10RFRZldu3aZ\nDz/80Ozfv/9iD7HN++wcrl692mRkZAQ+LykpMUOGDDFvv/22McaYTz755KKOry1q+T6guro6c/fd\ndwcukrB582bzox/9yLz66qvGGGNeffVV869//Ssk47TvjQEhYE5cvEKStG/fPknSlVdeqb1790o6\ncU7lrFmz5Ha7deTIET344INKTEwMrIP/09zcHPj4yJEjuvzyy7Vr1y5t3LhRkjRkyBB17txZRUVF\nkk5c/rJ3794hGWtb0PJ76KOPPpIkRUVF6dChQ4Hlv/71rxUVFaWamhrdfffdio+Pv+jjbAtavk4l\n6fjx42pubtbXvvY1ud1uTZgwQTt27NCaNWt07bXXat26derbt6+V7686qeU59P/93/+tiooKdenS\nRZdddpneffddHTp0SN27d9eECRNkjFGnTp2sPQ3zi+jQoYNcLpfi4uL01a9+Vc3NzRo8eLCeffZZ\n5eXlKTIyUj/5yU/Ut2/fUA/1oti5c6ckKSwsTFu3bg0s/9a3vqVbb71VBw8e1C233KKkpCR+b7ai\n5Wv1b3/7mySpV69eOnLkiHbv3q3jx4/r9ttv1+233666ujp9/etfV3h4eCiH3Oa0nMPVq1frgw8+\nUP/+/dW9e3f9+c9/liQNGjRICQkJ2r17tyRZ/zewWr5nqL6+PvDzPz8/X5I0ePBgXXvttVq2bJma\nmpp077336uqrrw7JWO39TX6RnTz9ITs7W7W1tfrOd76jxYsX6/e//706dOigLVu26N1339XHH398\n2ptp8f/bu/O4nLO+geOfK5cWS7aI1GgjWzFJZM0wthiEBrdlcI/BIEy2uU3zGPveYCRGZqTsFFJj\nJ2RPRAklpp1W7ct5/vB03WWMWZ+5mrnO+x+jruv1+jpzfr/fOed3zvf7iihX9Gzbtm18//331KxZ\nk5kzZ+Lv709oaChVq1bF1NSUly9fUlhYKB+OvOpHQUFBDB48mLS0NBwcHAgICGDPnj08f/6cq1ev\ncv/+fbKzszW+vRQKBRcvXuTixYsYGhri4OCAr68vKSkpGBkZ4eTkREpKCqWlpRW2s2qqsuvxm2++\nYdmyZRQXF9O6dWvatWvH2rVrWb16NcuWLcPPz09jJ9p/hI6ODtu3byc/Px9ANdksLi7WmC3AQUFB\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x107ac4a90>"
]
}
],
"prompt_number": 6
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment