{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# ScrapyDo Overview" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[ScrapyDo](https://github.com/darkrho/scrapydo) is a [crochet](https://github.com/itamarst/crochet)-based blocking API for [Scrapy](http://scrapy.org). It allows the usage of Scrapy as a library, mainly aimed to be used in spiders prototyping and data exploration in [IPython notebooks](http://ipython.org/notebook.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this notebook we are going to show how to use `scrapydo` and how it helps to rapidly crawl and explore data. Our main premise is that we want to crawl the internet as a mean to analysis data and not as an end." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Initialization" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The function `setup` must be called before any call to other functions." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import scrapydo\n", "scrapydo.setup()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The `fetch` function and highlight helper" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `fetch` function returns a `scrapy.Response` object for a given URL." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "<200 http://httpbin.org/get?show_env=1>" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "response = scrapydo.fetch(\"http://httpbin.org/get?show_env=1\")\n", "response" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `highlight` function is a helper to highlight text content using the [pygments](http://pygments.org) module. It is very useful to inspect text content." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
{\n",
       "  "args": {\n",
       "    "show_env": "1"\n",
       "  }, \n",
       "  "headers": {\n",
       "    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", \n",
       "    "Accept-Encoding": "gzip,deflate", \n",
       "    "Accept-Language": "en", \n",
       "    "Host": "httpbin.org", \n",
       "    "Runscope-Service": "httpbin", \n",
       "    "User-Agent": "Scrapy/1.0.1 (+http://scrapy.org)", \n",
       "    "X-Forwarded-For": "181.114.87.105", \n",
       "    "X-Real-Ip": "181.114.87.105"\n",
       "  }, \n",
       "  "origin": "181.114.87.105", \n",
       "  "url": "http://httpbin.org/get?show_env=1"\n",
       "}\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scrapydo.utils import highlight\n", "highlight(response.body, 'json')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
<!DOCTYPE html>\n",
       "<html>\n",
       "<head>\n",
       "  <meta http-equiv='content-type' value='text/html;charset=utf8'>\n",
       "  <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>\n",
       "  <title>httpbin(1): HTTP Client Testing Service</title>\n",
       "  <style type='text/css' media='all'>\n",
       "  /* style: man */\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "response = scrapydo.fetch(\"http://httpbin.org\")\n", "highlight(response.body[:300])" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
[u'<p>Freely hosted in <a href="http://httpbin.org">HTTP</a>, <a href="https://httpbin.org">HTTPS</a> &amp; <a href="http://eu.httpbin.org/">EU</a> flavors by <a href="https://www.runscope.com/">Runscope</a></p>',\n",
       " u'<p>Testing an HTTP Library can become difficult sometimes. <a href="http://requestb.in">RequestBin</a> is fantastic for testing POST requests, but doesn\\'t let you control the response. This exists to cover all kinds of HTTP scenarios. Additional endpoints are being considered.</p>',\n",
       " u'<p>All endpoint responses are JSON-encoded.</p>',\n",
       " u'<p>You can install httpbin as a library from PyPI and run it as a WSGI app.  For example, using Gunicorn:</p>',\n",
       " u'<p>A <a href="https://www.runscope.com/community">Runscope Community Project</a>.</p>',\n",
       " u'<p>Originally created by <a href="http://kennethreitz.com/">Kenneth Reitz</a>.</p>',\n",
       " u'<p><a href="https://hurl.it">Hurl.it</a> - Make HTTP requests.</p>',\n",
       " u'<p><a href="http://requestb.in">RequestBin</a> - Inspect HTTP requests.</p>',\n",
       " u'<p><a href="http://python-requests.org" data-bare-link="true">http://python-requests.org</a></p>']\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "highlight(response.css('p').extract())" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
{'Access-Control-Allow-Credentials': ['true'],\n",
       " 'Access-Control-Allow-Origin': ['*'],\n",
       " 'Content-Type': ['text/html; charset=utf-8'],\n",
       " 'Date': ['Mon, 27 Jul 2015 04:27:22 GMT'],\n",
       " 'Server': ['nginx']}\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "highlight(response.headers, 'python')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The `crawl` function or how to do spider-less crawling" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we are going to show to crawl an URL without defining a spider class and only using callback functions. This is very useful for quick crawling and data exploration." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Some additional imports for our data exploration.\n", "%matplotlib inline\n", "import matplotlib.pylab as plt\n", "import pandas as pd\n", "import seaborn as sns\n", "sns.set(context='poster', style='ticks')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We replicate the example in [scrapy.org](http://scrapy.org), by defining two callbacks functions to crawl the website http://blog.scrapinghub.com.\n", " \n", "The function `parse_blog(response)` is going to extract the listing URLs and the function `parse_titles(response)` is going to extract the post titles from each listing page." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import scrapy\n", "\n", "def parse_blog(response):\n", " for url in response.css('ul li a::attr(\"href\")').re(r'/\\d\\d\\d\\d/\\d\\d/$'):\n", " yield scrapy.Request(response.urljoin(url), parse_titles)\n", "\n", "def parse_titles(response):\n", " for post_title in response.css('div.entries > ul > li a::text').extract():\n", " yield {'title': post_title}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once we have our callback functions for our target website, we simply call to `scrapydo.crawl`:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [], "source": [ "items = scrapydo.crawl('http://blog.scrapinghub.com', parse_blog)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have our data, we can start doing the fun part! Here we show the posts title length distribution." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
titlelength
0EuroPython 2015 on18
1StartupChats Remote Working Q&A on34
2PyCon Philippines 2015 on25
3Why MongoDB Is a Bad Choice for Storing Our Sc...59
4Introducing Crawlera, a Smart Page Downloader on48
\n", "
" ], "text/plain": [ " title length\n", "0 EuroPython 2015 on 18\n", "1 StartupChats Remote Working Q&A on 34\n", "2 PyCon Philippines 2015 on 25\n", "3 Why MongoDB Is a Bad Choice for Storing Our Sc... 59\n", "4 Introducing Crawlera, a Smart Page Downloader on 48" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.DataFrame(items)\n", "df['length'] = df['title'].apply(len)\n", "df[:5]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1cAAAJDCAYAAADn8u7JAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xdc1WX/x/HXGWwRB4gmIOLC3KYppjkzW1aWO3d6a3mX\ntoeVpf6ynZmaoxxpdWe57m6z1NQsyaISzRQ34MgtyuaM3x/EySOoqEe+gO/n4+Hjwfc63/E+fFHP\nh+v6XpfJ6XQ6ERERERERkStiNjqAiIiIiIhIaaDiSkRERERExANUXImIiIiIiHiAiisREREREREP\nUHElIiIiIiLiASquREREREREPEDFlYhcUyZPnkx0dHSh/ixevJh+/fpRr169fOdJSkpyfb1//36i\no6MZM2aMx3I+88wzREdHc/jwYY+d0xMOHz5MZmama/tq5dywYYPrHuSJjo5m8ODBl3W+ffv2FWq/\njRs3Eh0dzQcffOB23SeffPKyrnshdrud/fv3X/DaIiJSsliNDiAiUpQ6d+5MZGSka9vpdPLUU09R\noUIFnn32Wbd9GzduTGhoKCdPnnS1paam8uCDD1KzZk3Gjx/vtr/JZPJoVk+f70otXryYV155hRUr\nVuDr6+tqv5o5zz73G2+8QUhIyCWfY/r06UybNo1NmzZddN+aNWvyxhtvULdu3fPm8IQDBw4wbNgw\n7rzzTkaMGHHBa4uISMmh4kpEril16tShTp06bm1PPfUUfn5+3HXXXfn2Dw8Pd9s+deoUmzZtolat\nWlc1J+QWfsXJxo0bycjIyNdeVDkLuj+F8cMPP2Cz2Qq1b8WKFS/7Opdi//797N69261oK6pri4jI\n1aNhgSIil6G4FT5SMunnSESkdFFxJSJyAWc/c7Vo0SI6deoEwBdffEF0dDS//PLLeY89dOgQzz77\nLK1bt6ZBgwbccsstvP322wX2/hTWkiVLuO+++2jcuDE33HADgwcPJi4uzm2fvOfK9u3bx7PPPktM\nTAwNGzakR48erFu3Lt85N23axJAhQ2jevDnNmzfnscceIz4+nujoaN5//30AOnTowJIlSwBo27Yt\n/fv3dztHUlISjzzyCM2bN6dp06YMHDiQP/74o1Dvadu2bQwfPpwbb7yR5s2b88wzz3DixIl8+0VH\nRzNo0CDXdnp6OuPHj+fWW2+lYcOGtGrVin//+99s377d7ZhffvkFm81GdHS0a+hnv379uOeee/js\ns89o2bIlTZo0YcaMGa7nnqZNm+Z2bafTybx58+jUqRMNGzbkrrvuYsGCBW77LFq0iOjoaJYtW3bB\n7JMnT2bAgAEATJo0iejoaA4ePHjea3/33Xf069ePpk2b0rhxY7p37+66F3nyjl2xYgXvv/8+HTt2\npEGDBtx666189NFHF70HIiLiGRoWKCJyEXlDt5o3b86zzz7Lq6++SosWLbj//vuJiooqsFhKSkqi\nV69eAPTs2ZPKlSsTHx/PrFmziI2NZf78+fj4+FxSjokTJzJnzhzatWtHt27dSE1NZfHixQwYMIA3\n33yT2267zW3/IUOGEBYWxsiRI0lNTeWjjz5ixIgR/Pe//6VGjRoA/PzzzwwZMoRy5coxePBgfH19\nWbRoEcOGDXM713PPPcecOXOIi4vjhRdeICoqyu31YcOGcfPNN/PUU0+RmJjIvHnzGDRoEN988w0V\nKlQ473vasmUL/fr1w9/fnwEDBhAQEMCyZctYuXJlgfufPYxu1KhRbNy4kX79+lG9enUOHTrExx9/\nzI8//sjXX39NaGgor7/+Oh988AH79u3jtddeIyIiwnV8YmIi7733HsOHDyczM5ObbrqJ1NTUfNcB\nWL16NatWraJfv35UqlSJr776inHjxrF//36efvrp82YsqL1z587YbDamT59Oly5d6NixI+XLlyc5\nOTnf8TNmzODtt9+mZs2aDB8+HG9vb7766iueeeYZtm7dyvPPP+92jTfeeAOr1Urv3r3x8/Pjs88+\n4/XXXycgIICePXue9z6IiIhnqLgSESmk8PBwOnbsyKuvvkpERITr+ZizZ3zL8/LLL2O321myZAlV\nqlQBcousli1b8tRTTzFv3jyGDh1a6Gtv2rSJOXPmMGjQILcP8wMGDKBHjx68/PLLtGvXDj8/P9dr\n119/PZMnT3bL/9hjj7Fs2TJGjx4NwCuvvIKPjw9ffPEFoaGhAPTu3Zvu3buTkpLiOrZTp06sWrWK\nuLg4OnXq5No3T7du3XjhhRdc2/7+/rz33nt8//333HPPPed9X6+99hpms5nPP/+csLAwAPr06UP/\n/v0vOAHFiRMn+P777+nbty9PPPGE23t+++232bZtG6GhoXTt2pWFCxeSlJSU73mmjIwMJkyYwO23\n3+5q27hxY4HXy8zM5JNPPqFx48au71G/fv2YM2cOvXv3divaLqZOnTqcOnWK6dOnEx0dfd7nrJKS\nkpg0aRJ169blP//5D97e3kBur9vQoUP5+OOPufXWW2nWrJnrGIfDweLFi/H39wdyC7m2bduydOlS\nFVciIkVAwwJFRDwsJSWFH3/8kebNm+Pr68uJEydcf1q3bo2/v/95e2bO53//+x+Q+2H57POlp6fT\nuXNnTp06lW+I4p133um2Xb9+fQCOHz8OwM6dO9m1axf33nuvW7Hk6+ubr+fqYu6++2637UaNGgFw\n5MiR8x5z8uRJ4uLiaN++vauwAvD29mbgwIEXvF6ZMmUIDAxk+fLlfP7556731KFDB7766ivatWt3\n0cwmk4mWLVtedD+Am266yVVYAVgsFgYPHozT6WTVqlWFOselWrlyJXa7nWHDhrkKq7xrjxw5EoAV\nK1a4HdOhQwdXYQUQEhJCSEgIx44duyoZRUTEnXquREQ8LDExEYBVq1ad94P3wYMHL+mcees09e7d\nu8DXTSYThw4dcmurWLGi23beB3S73Q7A3r17AfIN8QNcwwYL69wp0vOGPGZnZ5/3mLwev2rVquV7\nrWbNmhe8nre3N6+++irPPvssL774Ii+99BLR0dHcfPPN3HvvvW7T7Z+PyWS64JDFi+XJy332mmee\nlDdMsKCZKfPynNtreu49h9zvVd49FxGRq0vFlYiIhzkcDgDuuOMO7r///gL38fLyuqxzTp8+3a0X\n42zVq1d32zabLzw4IScnB6DA8529jlVhXOxaF3L2osR58t7vhXTq1IlWrVqxbt06fvjhB3766Sem\nT5/OrFmzePvtt7n11ls9lrmgffNm+rNaL/xfaWGngT/f+QuS9/05995dyX0QEZErp+JKRMTDqlat\nCuT22sTExOR7fcWKFW7D4Aojb//Q0FCio6PdXktISOCvv/5ye96qMPJ6d3bv3p3vtT179lzSuS5H\neHg4ZrO5wOvn9f6dT0ZGBgkJCVx33XXcdtttrsk84uLiGDRoEDNmzLhocXUpCuqdysud9320WCxA\n/mLxcofk5a2xtmPHjnw9Z7t27QLguuuuu6xzi4jI1aFfcYmIXIK8D9AX6lkJCQmhadOmfPfdd/mm\nI1+8eDGjRo3iyy+/vKTrdunSBYApU6a49Wikp6fz+OOP8/DDD5OVlXVJ56xXrx6RkZEsW7bMberz\nnJwc5s2bl2//vF6RwvQqFUa5cuVo1aoV69evd/s+2e125syZc8Fjd+7cSa9evfJNW16vXj28vLzc\negbNZvMVZ/7+++9dw/Qgt3CeNWsWVquVW265BcD13NqWLVvcjl26dGm+8xXm56hz586YzWZmzJjh\ndm9tNhtTp07FZDK5ri0iIsWDoT1XTqeTuXPn8umnn3LkyBFq1arFY489VugHjEVEisLZxUz58uWx\nWCzExsaycOFCWrduXeAxL730En379uWBBx6gV69eREVFsW3bNhYuXEjVqlV56KGHLilDTEwM9957\nL4sXL6Z3796uYuvLL79k9+7djB49mkqVKl3ye3vppZcYOnQo9957L71798bX15dly5a5eq7OnhY8\n77mqmTNn0rp1azp06HDJ1zvXmDFj6NmzJ/3796dfv34EBwfzv//9z62QKUjDhg1p3bo1n376KWfO\nnKFZs2ZkZWWxbNkyMjMz3dbDCg4OxuFw8P7773PDDTe4ehMvZQHfgIAAevfuTf/+/fH29mbp0qVs\n376dp59+2lVU3XjjjVStWpUvvvgCb29v6tSpw2+//caaNWsIDg52u17es1GrVq2iUqVKdO7cOd81\nIyIi+Pe//82kSZPo1q0bd999N15eXixfvpwtW7bQp08fbrjhhkK/BxGRq+nzzz9n1qxZHD58mLp1\n6/LMM8+4TQR0rh07djBhwgQ2b95MuXLl6NOnT75ZdJcuXcrMmTNJTk4mIiKC4cOHc8cdd7jts2rV\nKiZNmkRSUhKRkZGMHj26UJMaXS2G9lzNnTuXN954g/vuu4+pU6cSHh7Ogw8+yLZt26743N26daNb\nt24eSCmepPtSPOm+XNjZBYavry9PPPEEGRkZjB8/no0bNxa4rlGdOnVYtGgRnTt3dq2JtH79enr0\n6MGnn36abwKIgq7pdDp58MEHXW2vvvoqY8eOJScnh3fffZepU6cSGBjI22+/7Ta7n8lkOu9aS+eK\niYnho48+IiIigunTpzNlyhRq1qzJ2LFjAfdnenr37k3jxo1ZuHAhb7zxxiVfqyCRkZEsXLiQtm3b\n8tlnn/HOO+9QqVIl3nrrrYseO2nSJIYPH87WrVt57bXXmDx5MoGBgXzwwQduQwKHDh1KrVq1+OCD\nD5g1a5ar/VJy9+jRg/79+/PJJ58wceJE9uzZwzvvvOM2q6HZbGbWrFm0a9eOxYsX8+qrr3Ly5EkW\nLFhAcHCw2/WqV6/OoEGDSE5OZsKECWzbtq3APCNGjOC9994jKCiIadOmMXnyZKxWK6+//jovvvhi\nobJfyf0pSfTvWPGk+1J8efLeLF68mLFjx3L33Xe7/i0eMmRIgUuVQO6stYMGDcJisTBp0iR69OjB\nu+++67bo+ddff83TTz9N+/btmT59Om3btuXxxx93m203NjaWRx99lBYtWjBlyhTq1KnDyJEjiY+P\n98j7uhwm56X86s7D7rrrLurVq8fEiROB3OERHTt2pEOHDm7rpVyOvB+WRYsWXXFO8Rzdl+JJ96V4\nutr3xel0cvz4cYKDg/O9tnz5ch577DEmTpx4wXWqrkX6+1I86b4UT7ovxZen7o3T6aRjx460bduW\nl156CcgdvtylSxfatWvHmDFj8h3z3nvv8emnn7J27VrX7LKTJk3ik08+YcOGDVgsFrp3705ISAhT\np051Hde/f38sFguzZ88G4IEHHsDf358ZM2a49nnggQcIDAzMN2y8qBjac5WamkpAQIBr22w2U6ZM\nGbeFK0VE5OpwOBx06NCBwYMH53tt2bJlmEymCw7pEBERSUxM5ODBg25Dxa1WK+3atWP9+vUFHrNh\nwwZiYmJchRVAx44dSUlJcT23+uabb/Lcc8+5Hefl5eWa6TYzM5NNmzblG6LeoUMHYmNjL2notycZ\nWlx17dqVpUuXEhsby5kzZ5g7dy67du3KN5ZSREQ8z2KxcP/997NhwwZGjhzJp59+yvz58xkyZAhr\n166lb9++hVovSkRErl156zCeu2ZhWFgYycnJBRY5iYmJREREuLXlzZB69vnyZso9ceIEH330ERs2\nbKBnz55A7lqANpst33XDw8PJzMzMt/ZjUTF0QotHHnmEhIQEtwePR48eTfv27Q1MJSJy7RgzZgw1\na9bkiy++4M033wRyF6gdP378edfoEhERyZOamgrgNhotb9vhcJCenp7vtXNHr519fN758vz888/0\n798fgHbt2rkmALrQdQs6T1ExtLh68skn+f333xk7diw1atTgxx9/ZPLkyZQpU4a+ffsW+jwFPYyX\nkJBAxYoV2bBhw3kX3JSil5aWBuSuRSPFh+5L8VRU96V27dr5hl4UxXVLKv19KZ50X4on3Zfi68yZ\nMxw8eJCuXbvmWwz9Up7DyuuZOt/kOedbhP18+5/bXq1aNebPn8/evXt59913GTJkCPPnz7/osD+j\nFlU3rLjasmULy5cvZ9KkSa5ZnZo3b47dbufNN9+kW7dul7wg5tkqVqzI4cOH3XrFpPi4lOJZio7u\nS/Gk+1I86b4UT7ovxZPuS/F16tSpAic2KqzAwEAgt5CuUKGCqz0tLQ2LxVLg5/nAwEBX4X32/mef\nL09oaCihoaE0a9aM4OBgRowYQVxcHEFBQW7HXew8RcWw4ioxMREg38PSTZs2ZebMmRw4cCDfivTn\nU1B1HRsby8CBA3nhhReIjo6+8sAi54iPj2fal5sJqhRpdJQrlnJkHyPua0ijRo2MjiIiIiJFYPv2\n7YwbN47XXnvNtf7f5ch75ik5Odn13FTedvXq1c97TFJSkltb3vqG1atXx2az8c0331C3bl2ioqJc\n+9StWxeAI0eO0KBBA8xmc77p3pOTk/H393etQVjUDCuu8r75v/76K7fffrurPT4+HqvVSuXKla/o\n/F5eXgBER0fTrFmzKzqXSEEyMjLwDjyMf8Woi+9czGVkZFC7dm39XREREbnG5H1mvlyRkZFUqVKF\nlStX0qpVKwBycnJYu3bteedRiImJ4T//+Q8ZGRmunq1Vq1ZRvnx56tati9Vq5dVXX6V169auJZsA\nfvjhByB3OLuPjw9NmjRh5cqVdO/e3bXP6tWradGixRW9pythWHHVqFEjWrVqxcsvv8ypU6eIiori\n559/ZtasWfTv358yZcoYFU1ERERERArBZDIxdOhQxo0bR9myZWnatCnz588nJSXFtdB6UlISJ06c\ncI1Y69OnD/Pnz2fYsGEMHjyY7du3M3PmTJ544gnX818jRoxg/PjxhIaG0rJlS/744w+mTp3Kvffe\n6xrdNmzYMP71r3/x4osv0rFjR7766ivi4+NZsGCBId8LMHhCi2nTpjFt2jTmzp3LkSNHiIiI4IUX\nXnBNsSgiIiIiIsVbnz59yMrKYt68ecydO5e6devy4YcfuqZSnzp1KkuXLmXbtm0AhISEMHv2bCZM\nmMCjjz5KcHAwo0ePdpsroW/fvvj4+DB37lxmz55NpUqV+Ne//sWwYcNc+7Rt25bXX3+dKVOmsGTJ\nEqKiopgyZYqhjzmYnEatsHWVxcXF0bdvXxYsWKChTnJVrF+/nqffX0/FsHpGR7lix/dv5bWRbWjT\npo3RUURERKQI6LPy1WHoIsIiIiIiIiKlhYorERERERERD1BxJSIiIiIi4gEqrkRERERERDxAxZWI\niIiIiIgHqLgSERERERHxABVXIiIiIiIiHqDiSkRERERExANUXImIiIiIiHiAiisREREREREPUHEl\n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\nuOEGz363282NN95IZmZmnuMbN27MV1999ad5bTYb48eP58iRI8ycORObzUb//v3ZvXs3AHXr1mX2\n7NmEhhasadsViytvb28++OADT/v1QYMG8dhjj9G+fftLjrVYLISEhFC79rV3S3r77bc5cODAn34T\nxHjbUnaTbssAoGVkYyp4+RmcSETEOLVCY+hcow2rDq4ny5HNlzt+4NFWA4yOJSJSrBYsWMDYsWN5\n/PHHadKkCZ988gmPPPII3377LVFRUZccf/LkSYYMGUL9+vWZMmUKO3fu5M0338RisVyyttTx48cZ\nNmzYJQUUQHJyMpmZmbz66qvUrFnTs79ChQpXzTx16lS++OIL7r77bs/XsHv3bgYPHkyDBg2YMGEC\nkydP5qWXXirQv8WfPnNVrVo1z8rEr7zyCq1btyY6OrpAN8iPXbt28cknnxASElLo15bCtSbxwlRR\nrW0lIgL3N7md2KRN2Jx2lu5fwy11uxJdsarRsUREioXb7Wbq1Kn079/fs4ZU+/btueWWW/joo494\n/vnnLzln7ty5uFwupk+fjo+PD507d8ZmszFjxgweeughrNbcEmXJkiWMGzcOm82G2+2+5DpxcXGY\nzWZuueUWfHx8CpT7xx9/5N5772XcuHEALFq0iKCgIEaNGoXVaiU5OZnPP/+8oP8c5HsiYb9+/QgN\nDWX79u2efZs2beLpp59m9OjRbN68ucA3h9y5jc899xxDhw4lIiLimq4hxSPHYePXQ1sB8LP60jKy\nscGJRESMF1ohmNsa9AJy/8iYs3W+wYlERIpPQkIChw8fpnv37p59VquVrl278vPPP1/2nHXr1tGu\nXbs8BVGPHj1ITU311BppaWk8+eST9OzZk1dfffWy19mzZw8xMTEFLqwgt79Es2a5j7ekp6fz66+/\n0qFDB09hFxERQVpaWoGvm+/i6vfff6dXr14899xzACQmJjJ48GAWLVrEokWLeOihh1i/fn2BA8ya\nNQun08mwYcMuW5FKybHp8HZyHLkNTVpHqSuWiMh5t9XvRYhvRQB+O7KTrUd3GZxIRKR4HDx4EIDq\n1avn2R8VFUVSUtJl/75PSEggJiYmz77zs+PO93vw8/Nj4cKFvPDCC/j5Xf4xlL179+Ll5cUjjzxC\n8+bNadeuHa+99lq+locKDw/3PP60fPly7HY7Xbt29by/detWIiMjr3qdP8p3cfXGG29gNpt55pln\n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\n3xzp6ekAREZGutWjo6M5ffo0FotF41IBKnW4ioqKwsfHh+XLl7tq+fn5rF+/npiYGBM7q/zmz5/P\nG2+8wbBhw3jhhRewWv/3n5rGxRz5+fmMHz+eZcuWudXXrl1LrVq16NWrl8bFBM8//zwff/yx6++j\njz6iUaNGxMXF8fHHH9OvXz+NiwmKi4t57rnnWLp0qVt92bJlhIWF0bt3b42LCZo1a0adOnX4/PPP\n3epff/01derU0fZism3btgHn7szr331zhISEALBp0ya3empqKl5eXvocqyCV+meB/v7+DB06lGnT\npmG1WmnYsCGzZ88mKCiI+Ph4s9urtHJycpg6dSrNmzenX79+bN261W1627ZtNS4maNKkCb179+bF\nF1+ktLSU4OBgvvzyS5YuXcoLL7xAQECAxsUE5/t20MfHh2rVqtG6dWsAjYsJQkJC6Nevn+t9b9y4\nMV988QXLly/n9ddfx8/PT+NiAovFwpgxY3jyySeZMGECffr0ITk5mU8//ZSJEyfqc8xkaWlpVK9e\n/ZyflGl/zBwRERHExsYyceJEfvzxRxo3bsz69et58803uf/++6lTp47GpQJUqnBlsVjOOQHv8ccf\nx2q18tZbb1FYWEh0dDRTpkwhICDApC4rv2+//ZbS0lLS0tLOuReJxWIhJSVF42KSKVOm8NprrzFn\nzhxyc3Np1qwZ06dPd92TTOPiGfQ55hn+8Y9/MHPmTObPn09ubi5NmzZlxowZxMXFARoXs/zhD3/A\nbrcze/ZsFi9eTL169Xj++ecZNGgQoHExU15e3m+eq6NxMcesWbOYNWsW8+fPJycnh9DQUJ599lnX\n/pnGpfxZjF/eUEVEREREREQuS6U+50pERERERORqUbgSEREREREpBwpXIiIiIiIi5UDhSkRERERE\npBwoXImIiIiIiJQDhSsREREREZFyoHAlIiIiIiJSDhSuRETETY8ePRg5cqSpPZSUlJCTk+N6/OST\nT9KuXTsTOxIREbk4hSsRETmHxWIx7bUPHz5M//792bhxo1vdzJ5EREQuhcKViIh4lKysLNLT08+p\nG4ZhQjciIiKXTuFKRERERESkHChciYjIBX333XcMHTqUqKgoOnXqxKOPPkpmZqZrelZWFuHh4Xz2\n2WckJiZy4403EhERwbBhw9i9e7fbsn788UeeeeYZYmNjiY6O5q9//SsrVqwgPDyc9evXs3jxYoYN\nGwbA448/Ts+ePd2ev2nTJoYMGUJERARxcXHMmjVLR7RERMRjKFyJiMhv+vrrrxkxYgQATzzxBA88\n8ABbtmxhyJAhHDlyxG3el156ifXr1/OnP/2J0aNHs23bNkaPHo3T6QTA4XAwYsQIlixZwp133klC\nQgJpaWmMHz8ei8WCxWKhY8eOjB49GoChQ4fy9NNPu5bvcDgYNWoUUVFRPP300wQHBzNt2jTee++9\nq/RuiIiIXJiX2Q2IiIhncjqdTJw4kS5dujB37lxXPT4+nn79+jFt2jQSExNddW9vb95//33sdjsA\ndrudl19+mc2bN9OhQweWLFnCzp07eeWVV+jXrx8AgwYNon///uTn5wMQEhJCbGwsc+bMITo62u3I\nldPpZNy4cQwePBiA/v37c/PNN7NixQruvvvuCn8/RERELkZHrkRE5Lx27dpFdnY2PXr0IC8vz/Xn\n5eVFhw4dWL16tdv8cXFxrmAFEB4eDsDx48cBWLlyJbVr13YFKwA/P7/fFYx+/dywsDCOHTt2Oasn\nIiJS7nTkSkREzisjIwOASZMmMWnSpHOmWywWSkpKXI9r1KjhNt3b2xuAsrIy1/JCQ0PPWU6jRo0u\nqR+73U5AQIBbzcfHh4KCgkt6voiISEVTuBIRkfM6e67U2LFjadWq1Xnnsdlsrv9/sftQORwOtyNb\nZ/n4+FxSP7rPlYiIeDqFKxEROa969eoBEBAQQExMjNu0DRs2YLFY3MLVxYSEhJCWlnZO/Xz3tBIR\nEbkW6ZwrERE5r7Zt21KzZk0WLFhAcXGxq/7DDz/w8MMPM3PmzN+1vF69enH06FG3c7VKSkr46KOP\n3OY7G9h+fYl1HbkSERFPpyNXIiJyXna7naeeeoqxY8cSHx/PwIEDMQyDRYsWUVZWxuOPP/67ljdw\n4EDeeecdEhISuO+++6hTpw6ffPIJBw8eBP4XnqpXrw7AJ598gmEY3H777cC5Yess3edKREQ8hY5c\niYjIb7r99tuZM2cOgYGBTJ8+nTlz5hAWFsaCBQto27btRZ//y6NNdrudefPm0bt3bz744AP++c9/\n0rx5cxISElzTAZo0acLdd9/Npk2bmDRpEqWlpa77YF3sNURERMxkMfSVn4iIXAX5+fn4+fmdc1GL\nt956iylTprB8+XJCQkJM6k5EROTK6ciViIhcFQsWLCA6Opq8vDxXzel08uWXX1KtWjUFKxERuebp\nyJWIiFwV+/fv58477yQsLIz4+HhsNhvLly8nJSWFiRMnMmTIELNbFBERuSIKVyIictVs27aNGTNm\nsH37doqLi2nevDnDhw+nb9++ZrcmIiJyxRSuREREREREyoHOuRIRERERESkHClciIiIiIiLlQOFK\nRERERESkHChciYiIiIiIlAOFKxERERERkXKgcCUiIiIiIlIO/j9XQGiaO48ZyQAAAABJRU5ErkJg\ngg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = df['length'].plot(kind='hist', bins=11)\n", "ax2 = df['length'].plot(kind='kde', secondary_y=True, ax=ax)\n", "ax2.set(ylabel=\"density\")\n", "ax.set(title=\"Title length distribution\", xlim=(10, 80), ylabel=\"posts\", xlabel=\"length\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The `run_spider` function and running spiders from an existing project" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The previous section showed how to do quick crawls to retrieve data. In this section we are going to show how to run spiders from existing scrapy projects, which can be useful for rapid spider prototyping as well as analysing the crawled data from a given spider." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use a modified [dirbot](https://github.com/scrapy/dirbot/) project, which is already accesible through the `PYTHONPATH`." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import os\n", "os.environ['SCRAPY_SETTINGS_MODULE'] = 'dirbot.settings'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We want to see the logging output, just as the `scrapy crawl` command would do. Hence we set the log level to `INFO`." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import logging\n", "logging.root.setLevel(logging.INFO)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The function `run_spider` allows to run any spider class and provide custom settings." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:scrapy.utils.log:Scrapy 1.0.1 started (bot: scrapybot)\n", "INFO:scrapy.utils.log:Optional features available: ssl, http11\n", "INFO:scrapy.utils.log:Overridden settings: {'DEFAULT_ITEM_CLASS': 'dirbot.items.Website', 'CLOSESPIDER_ITEMCOUNT': 500, 'SPIDER_MODULES': ['dirbot.spiders'], 'NEWSPIDER_MODULE': 'dirbot.spiders'}\n", "INFO:scrapy.middleware:Enabled extensions: CoreStats, TelnetConsole, LogStats, CloseSpider, SpiderState\n", "INFO:scrapy.middleware:Enabled downloader middlewares: HttpAuthMiddleware, DownloadTimeoutMiddleware, UserAgentMiddleware, RetryMiddleware, DefaultHeadersMiddleware, MetaRefreshMiddleware, HttpCompressionMiddleware, RedirectMiddleware, CookiesMiddleware, ChunkedTransferMiddleware, DownloaderStats\n", "INFO:scrapy.middleware:Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware\n", "INFO:scrapy.middleware:Enabled item pipelines: FilterWordsPipeline, DefaultFields\n", "INFO:scrapy.core.engine:Spider opened\n", "INFO:scrapy.extensions.logstats:Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)\n", "INFO:twisted:TelnetConsole starting on 6023\n", "INFO:scrapy.core.engine:Closing spider (closespider_itemcount)\n", "INFO:scrapy.extensions.logstats:Crawled 703 pages (at 703 pages/min), scraped 521 items (at 521 items/min)\n", "INFO:scrapy.statscollectors:Dumping Scrapy stats:\n", "{'downloader/request_bytes': 359046,\n", " 'downloader/request_count': 765,\n", " 'downloader/request_method_count/GET': 765,\n", " 'downloader/response_bytes': 4258383,\n", " 'downloader/response_count': 765,\n", " 'downloader/response_status_count/200': 704,\n", " 'downloader/response_status_count/302': 61,\n", " 'dupefilter/filtered': 7365,\n", " 'finish_reason': 'closespider_itemcount',\n", " 'finish_time': datetime.datetime(2015, 7, 27, 4, 28, 55, 693945),\n", " 'item_scraped_count': 521,\n", " 'log_count/INFO': 9,\n", " 'request_depth_max': 6,\n", " 'response_received_count': 704,\n", " 'scheduler/dequeued': 765,\n", " 'scheduler/dequeued/memory': 765,\n", " 'scheduler/enqueued': 837,\n", " 'scheduler/enqueued/memory': 837,\n", " 'start_time': datetime.datetime(2015, 7, 27, 4, 27, 53, 505040)}\n", "INFO:scrapy.core.engine:Spider closed (closespider_itemcount)\n", "INFO:twisted:(TCP Port 6023 Closed)\n" ] } ], "source": [ "from dirbot.spiders import dmoz\n", "items = scrapydo.run_spider(dmoz.DmozSpider, settings={'CLOSESPIDER_ITEMCOUNT': 500})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this way, we have less friction to use scrapy to data mine the web and quickly start exploring our data. " ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
[{'crawled': datetime.datetime(2015, 7, 27, 4, 27, 55, 80723),\n",
       " 'description': u'- A remote debugger and IDE that can also be used for local debugging.',\n",
       " 'name': u'Hap Python Remote Debugger',\n",
       " 'spider': 'dmoz',\n",
       " 'url': u'http://hapdebugger.sourceforge.net/'},\n",
       " {'crawled': datetime.datetime(2015, 7, 27, 4, 27, 55, 86720),\n",
       " 'description': u'- An enhanced interactive Python shell with many features for object introspection, system shell access, and its own special command system for adding functionality when working interactively. [Open Source, LGPL]',\n",
       " 'name': u'IPython',\n",
       " 'spider': 'dmoz',\n",
       " 'url': u'http://ipython.scipy.org/'},\n",
       " {'crawled': datetime.datetime(2015, 7, 27, 4, 27, 55, 87918),\n",
       " 'description': u'- An interactive, graphical Python shell written in Python using wxPython.',\n",
       " 'name': u'PyCrust - The Flakiest Python Shell',\n",
       " 'spider': 'dmoz',\n",
       " 'url': u'http://sourceforge.net/projects/pycrust/'}]\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "highlight(items[:3], 'python')" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwoAAAKcCAYAAABIcE3LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XucV3W97/H3DDiA0ICKmu0xoBIwFYVApaOmEKR2Q6I0\nxbyESYldAEvTMukUO7dbDwoxaoATu9yiD2KTlaBlXkrzWNvIiksqyey8ZkzOiAwMc/7wwRzHxdW5\ngT6fj4d/8F1r1u/zWzLDvGb91vxKGhsbGwMAAPAqpR09AAAAsOsRCgAAQIFQAAAACoQCAABQIBQA\nAIACoQAAABQIBYAdcN1112XgwIE79N+iRYs6ZMYNGzZkzJgxueyyy7a4va6uLldddVVGjhyZww8/\nPB/+8IezYMGCFj3mX//61wwcODAzZ85s0XHa2sKFCzNw4MD8+Mc/7uhRAHYbnTt6AIDdwejRo9O3\nb9+mPzc2NubLX/5y9t5771xyySXN9h08eHA7T5c0NDTk4osvzvLly3PYYYdtcfukSZPym9/8Jqed\ndloOPvjgLFmyJF//+tfz3HPP5YILLmj3mdvTsGHD8m//9m8ZMmRIR48CsNsQCgA7YMCAARkwYECz\ntS9/+cvp1q1bPvzhD3fQVK945pln8uUvfzm/+c1vtrrPHXfckQceeCCXXXZZxo8fnyT5+Mc/nokT\nJ6aysjIf+9jH8ta3vrW9Rm53Bx54YA488MCOHgNgt+KlRwC7sTvvvDMnnnhiHnnkkZx//vlb3W/R\nokXp1q1bTj311Gbrn/70p7Nhw4b89Kc/betRAdjNCAWANrBw4cKMGzcuhx9+eIYMGZIzzzwzv/zl\nLwv7DBw4MMuWLctFF12UYcOG5cgjj8zEiROzfPnyHXqclStX5r3vfW/+67/+K5/4xCe2ut+yZcsy\nYMCA7LHHHs3WDz300CTJH/7wh+0+1po1azJlypQcffTRGTx4cC644IKsWbNmi/s+/PDDOe+88zJs\n2LAMGjQoH/7wh3PTTTdl06ZNTftUV1dn4MCBuemmmzJ37tyMGjUqgwYNyoc+9KEsXbo0GzduzMyZ\nM3P88cdn8ODBOe200/LII480e5z169ensrIyp5xySgYPHpzDDjss73//+zN9+vS89NJLTfttPteL\nFy9u9thVVVWZP39+TjrppBx22GE54YQTcs0112TDhg3NHufHP/5xTj311AwbNiyDBw/OuHHjWnx/\nB8CuzkuPAFrZ5ZdfnltuuSVHHHFEvvSlL6W+vj4LFy7MxIkTc/HFF+fss89utv+XvvSl7Lnnnrng\nggvyz3/+M/Pnz8/pp5+eH/zgBzn44IO3+VjnnXdeysrKkrzyze+WrFu3LjU1NVt8aVG3bt1SXl6+\n1Y/d7G9/+1s+/vGPZ/369TnzzDOz//77Z8mSJfnCF75Q2Pf222/PRRddlLe+9a0555xzUl5enp//\n/Of513/91zz88MO57rrrUlJS0rR/VVVVOnXqlDPOOCNJcsMNN2Ty5Mk5+uij8/e//z2f/vSnU1tb\nmxtuuCGf+9znsnTp0vTo0SNJ8vnPfz733XdfPvGJT+T000/PSy+9lCVLlqSqqirPP/98/v3f/73Z\nbK9+3CT5/ve/n/Xr1+f0009P796986Mf/SjXX399GhsbM3ny5CTJT3/601x00UU59thjM2XKlGza\ntCmLFy/O17/+9bz88sv51Kc+tc1zB7C7EgoAreihhx7KLbfckve9732prKxs+sb0zDPPzMc//vFc\nddVVef/735+Kioqmj+natWsWLFiQbt26JUk+8IEPZOzYsZk+fXq+//3vb/PxNkfCtrz44otJkj33\n3HOL27t27Zp169Zt8xgzZsxITU1NbrnllgwaNChJcvrpp+eLX/xilixZ0uyxvvGNb2TffffNokWL\n0rNnzyTJ+PHjc8kll+RHP/pRFi9enI9+9KNNH7N27dosXbo0++67b9M8V1xxRR577LHccccd6dKl\nS5L/f/XgD3/4Q4YPH57ly5fnnnvuyYQJEzJ16tSm440fPz7vf//7c88992z33LzwwgtZsmRJ9ttv\nvyTJRz/60Rx33HFZtGhRUygsWrQo3bt3z4033tj0cePGjcupp56axx57bLuPAbC78tIjgFZ0xx13\nJEkuuOCCZj+97tatW84///xs3Lgxd955Z7OPOe+885oiIXnlxunjjjsuDz/8cNauXdvimRobG7e7\n/bU/aX/t9p///Oc5/PDDmyIheeWn8xMmTGi2769+9avU1tbmU5/6VFMkbPbFL34xSfKzn/2s2fp7\n3vOepkhIkne84x1Jkve9731NkZAkffr0SZI8++yzSZKBAwfmt7/9bSZNmtTseM8991x69uzZ7KVH\nW3PUUUc1RUKSdOnSJe985zvz97//vWntbW97W+rq6nLFFVc0vSSsrKwsP/rRj3LFFVds9zEAdleu\nKAC0ojVr1qSkpCQHHXRQYdu73vWuJMn//M//NFvv379/Yd9+/frl7rvvTnV1dXr16tWimbp3754k\nefnll7e4/eWXX85b3vKWrX78P/7xj9TW1jZ9o/5qm5/TZpvvWdjS899///3To0ePwvN/dSQkSadO\nnZIkvXv3brZeWvrKz7ZeHT577LFHFi9enAceeCB//etfs2bNmtTU1CQpvsxoS/bZZ5/CWllZWbN7\nKS688MI8+uijufnmm3PzzTend+/e+V//63/lAx/4QEaMGLHdxwDYXbmiANCKtvXT+83ffL72huIt\nvXyooaEhSdK5c8t/ntOjR4/07NkzTz/9dGHbunXr8uKLL+aAAw7Y7nG2FBqv/oY62f7Vi02bNhWe\n7+t9jmvXrs1HPvKRfP3rX8/f//73DB06NBdddFFuv/32HHnkkTt0jM3xsS377LNPbrvtttxyyy35\n7Gc/m4qKivzkJz/J5z73uTf8+08Ab26uKAC0ogMPPDCNjY1ZtWpVs5fpJMmqVauSvPJSlld74okn\nCj+Zf/zxx9O5c+dm9zK0xGGHHZbf/va32bBhQ7NQWbZsWZIUZn21vfbaKz179szjjz9e2PbXv/61\n2Z83v1fBypUr8773va/ZtqeeeiovvfRS4fm/Xj/84Q+zevXqfPvb387YsWObbXvuueda5TGS5LHH\nHstLL72Uww8/PIcffni+8IUv5B//+EcmTZqUn//85/nLX/5S+P8H8EbgigJAK/rABz6QJJk5c2az\nn7avW7cu3/ve99K5c+eMHDmy2cfMmzev6QpC8so37/fdd1+OO+64pt/u01If+tCHsm7duvzwhz9s\nWmtsbMzcuXPTpUuXfPCDH9zqx5aUlOTEE0/MqlWrCvdXzJkzp9mfjz322HTv3j1VVVWF+yuuvfba\nJMmoUaNa+nSSvPKSqKT4Mqe77rorTzzxRJLiFY/X4/Of/3w++9nPpra2tmltr732anqn7s0vlQJ4\no9mpKwr19fX56Ec/miOOOCLTp09Pkjz66KMZN25cYd9zzz03X/7yl1tnSoDdxNFHH51x48bltttu\nyyc/+cmcdNJJqa+vz49+9KOsXr06U6dOLfxE/Y9//GPOOOOMnHzyyXn++eczf/787L333rnkkkta\nba6PfvSjWbBgQa688sqsWbMmAwYMyJIlS3L//fdn8uTJhfsBXuuLX/xi7r///nzpS1/KJz/5yfTt\n2zf33HNP/vjHPzbbr0ePHvna176Wr371qxkzZkw+/vGPp7y8PHfffXd+/etf5/jjj89HPvKRVnlO\nI0aMyPz58zNlypScfvrp6datW377299myZIleec735nHHnss//znP1/XPR6vfgnV5z73uUyZMiWf\n/OQnM3bs2HTv3j3Lli3LwoULc/zxx6dfv36t8nwAdjU7FQozZ87ME088kSOOOKJpbfny5enWrVuq\nqqqa7fvq3yLxRrL58vbChQs7eJJdj3Ozbc7P1r3Rzs3//t//O4MGDcp//ud/5pprrklZWVkOO+yw\nXHLJJTnuuOMK+3/729/OXXfdlWuuuSbdunXLqFGj8sUvfrEpKFrj/JSUlOSGG27IjBkzcscdd+TW\nW29N3759861vfSsf+9jHtvvxe+21V2699dZcc801+dnPfpba2toMGTIk3/ve93LKKac023fMmDE5\n4IADcsMNN2TevHnZuHFj3vGOd+Syyy5req+E1/scXn2D8vDhw/Mv//IveeaZZzJjxoyUlZXlyCOP\nzC233JLly5fnkksuya9//eucfPLJTR//eh7ngx/8YMrKylJVVZUbbrghdXV1OfDAAzNp0qScd955\nr/v5tLU32udVa3N+ts652bY30/nZ4VD405/+lPnz52evvfZqtr5ixYoMGDBgm69vBXgj2ta7J3/i\nE5/Y5jslv1rPnj1zzTXXtHieioqKbc7Uo0ePXHrppbn00ktf1/H33nvvfPOb3yysb+kxjzrqqBx1\n1FHbPN7W5h06dOgW1z/ykY8Urkb07NkzPXv2LPyDPXDgwIwZM6bpz2PHjm12H8O2ztW8efMKa6NG\njWq1l0wB7C526B6FjRs35qtf/WomTJiQ/fffv9m2FStWbPFX+wEAALuvHQqFG2+8MQ0NDfnMZz5T\n+NV3K1euzFNPPZUxY8bk0EMPzejRo7No0aI2GRYAAGgf233p0WOPPZbrr78+VVVVhd/9/cwzz2Tt\n2rV58sknM3ny5JSXl+f222/PxRdfnCTNLvsCULSjr5sHgPa2zVDYtGlTLr300owbNy6HH354kub/\nqPXq1Svz5s1L//79m97dcvjw4Xn22Wcza9asnQ6F1/4e7M0zXHbZZdl33313iV9BV19fnySprq7u\n4El2Pc7Ntjk/W/dmPTdHHnlk068b3dZzf7Oenx3h3Gydc7Ntzs/WOTfbtiudn82v+OnWrVvhDSRb\n42brksZtvI1mVVVV5s2blx//+Mfp1q1bkuRjH/tYDj744HzrW9/a6jfuVVVVmT59ev77v/+76eN2\nxJZCoa6uLqtXr97hYwAAwJtJ3759071792ZrrREK27yicNddd+Xpp5/OsGHDmq2vWLEiixYtyh13\n3JFf//rXGTduXMrKypq2r1+/Pl27dt2pSEi2/IT++te/ZvTo0fnBD36Qt771rTt1PAAASJL/+3//\nb/616v9mrwMO2v7O7eAfT63KxWcNK3yfvTOefvrpnHHGGbnhhhvSp0+fVpzuFdsMhWnTpuWll15q\n+nNjY2OmTp2afv36ZdKkSamurs60adOy33775f3vf3/TPkuXLs3QoUNbZcDNVy3e+ta3pqKiolWO\nCQDAm8sTTzyRTl16ZI899+7oUZIknbr0SO/evVvl+9u2enn+NkNhS+822aVLl/Tq1SuHHHJINm3a\nlMGDB+fyyy9PTU1NevfunQULFmTVqlW5+eab22RgAACg7e3UOzMnzW9mLi0tzezZs3P11Vfn2muv\nzdq1a3PIIYdk7ty5efe7392qgwIAAO1np0Phte+R0KtXr0ybNq3VBgIAADreDr3hGgAA8OYiFAAA\ngAKhAAAAFAgFAACgQCgAAAAFQgEAACgQCgAAQIFQAAAACoQCAABQIBQAAIACoQAAABQIBQAAoEAo\nAAAABUIBAAAoEAoAAECBUAAAAAqEAgAAUCAUAACAAqEAAAAUCAUAAKBAKAAAAAVCAQAAKBAKAABA\ngVAAAAAKhAIAAFAgFAAAgAKhAAAAFAgFAACgQCgAAAAFQgEAACgQCgAAQIFQAAAACoQCAABQIBQA\nAIACoQAAABQIBQAAoEAoAAAABUIBAAAoEAoAAECBUAAAAAqEAgAAULBToVBfX5+TTjopl1xySbP1\n2bNn5/jjj88RRxyRc889N48//nirDgkAALSvnQqFmTNn5oknniisVVZWZsKECbn66qvz4osv5uyz\nz05tbW2rDgoAALSfHQ6FP/3pT5k/f3722muvprXa2trMmTMnF154YcaPH58RI0Zkzpw5qaury223\n3dYmAwMAAG1vh0Jh48aN+epXv5oJEyZk//33b1r//e9/n3Xr1mXEiBFNa+Xl5Rk2bFjuu+++1p8W\nAABoFzsUCjfeeGMaGhrymc98Jo2NjU3rq1evTpK8/e1vb7Z/RUVF4SVKAADA7qPz9nZ47LHHcv31\n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\nAAAoEAoAAECBUAAAAAqEAgAAUCAUAACAAqEAAAAUCAUAAKBAKAAAAAU7HQo///nPM2TIkML67Nmz\nc/zxx+eII47Iueeem8cff7xVBgQAANrfToXC7373u1x00UWF9ZkzZ6aysjITJkzI1VdfnRdffDFn\nn312amtrW21QAACg/exQKNTX1+fGG2/MWWedlT322KPZttra2syZMycXXnhhxo8fnxEjRmTOnDmp\nq6vLbbfd1iZDAwAAbWuHQuHee+/NjTfemK985SsZP358Ghsbm7b9/ve/z7p16zJixIimtfLy8gwb\nNiz33Xdf608MAAC0uR0KhcMOOyy/+MUvMn78+MK21atXJ0ne/va3N1uvqKjIE0880fIJAQCAdtd5\nR3baf//9t7qttrY2ZWVl6dy5+aG6d++eurq6nRpm7NixhbX6+vqdOgYA7O5qamqybNmyjh6jyaBB\ng9KzZ8+OHgPYiokTJ6asrKzZ2sKFC1t83B0KhW1pbGxMSUnJFrdtbR0A2Lply5bls5fPT/m+fTt6\nlPzzudWZfcWZOfbYYzt6FKCdtTgU3vKWt6S+vj4NDQ3p1KlT03pdXV3Ky8t36lhbKp/q6uqMHDmy\npWMCwG6lfN++2afikI4eA9gNVFZWpqKiotWP2+I3XOvTp08aGxtTXV3dbL26ujr9+vVr6eEBAIAO\n0OJQGDx4cLp06ZI777yzaa2mpiYPPfRQhg8f3tLDAwAAHaDFLz3q3r17xo8fnxkzZqS0tDR9+vRJ\nZWVlysvLM27cuNaYEQAAaGc7HQolJSWFm5QnT56c0tLSzJ07N3V1dRkyZEiuvPLK9OjRo9UGBQAA\n2s9Oh8KkSZMyadKkZmudOnXKlClTMmXKlFYbDAAA6DgtvkcBAAB44xEKAABAgVAAAAAKhAIAAFAg\nFAAAgAKhAAAAFAgFAACgQCgAAAAFQgEAACgQCgAAQIFQAAAACoQCAABQIBQAAIACoQAAABR07ugB\nAHjzqampybJlyzp6jGYGDRqUnj17dvQYALsMoQBAu1u2bFk+e/n8lO/bt6NHSZL887nVmX3FmTn2\n2GM7ehSAXYZQAKBDlO/bN/tUHNLRYwCwFe5RAAAACoQCAABQIBQAAIACoQAAABQIBQAAoEAoAAAA\nBUIBAAAoEAoAAECBUAAAAAqEAgAAUCAUAACAAqEAAAAUCAUAAKBAKAAAAAVCAQAAKBAKAABAgVAA\n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\nOTJLlixpl8ft3LlzNm3alHvuuSdPPfXU6/7Jwu6goaEhnTp1SklJSV588cWmb3Z9Huy4zeds89+b\nzVfA3mz+8pe/pL6+vqPH2O28+uvN888/n4aGhiQ+B1+vxsbGpq9py5cvz8qVKzt6pFaxOShLSkpS\nX1+f66+/Pt/85jd9zrWSPfbYIw888EDuueeePPPMM6mrq0tpaelOfx4KhTeATZs2pbS0NJ06dcra\ntWvz29/+NlOnTs33v//9vPDCC2+qnyTval79CdnY2JiXX345GzZsyG9+85sceeSROfroo9vkcV/7\n06c777wz733ve3PhhRfmE5/4RG688cYkr/9S5K5o8/Pt1KlTnnrqqUycODHnnHNOvva1r2XdunU+\nD3ZAY2NjNm3alM6dOydJ/vGPf+SMM87I1772tQ6erH3V1tbmvvvuy4c+9KE88sgjHT3OLu+1X2+W\nLl2a4cOHZ/LkyfnkJz+ZW265JUl8Du6ExsbGpsAqKSnJ888/n3PPPTdnnHFGzjrrrFx33XX5+9//\n3sFTtszmrzPf/e53M3fu3Pznf/5n/vCHP+See+7p4Ml2f5v/bf/MZz6T//mf/8l5552X97znPVmz\nZs1Ofx52+sY3vvGNNpiRdtDY2NhU40nyf/7P/8mUKVPy2GOPZdmyZampqcl+++2XQw89tIMnfXPa\nuHFjOnXq1PTnkpKSrF27NnV1dfn73/+e7t2754QTTsiee+7Zqo/76p+o19XVpaSkJPPnz89xxx2X\ns88+OzU1Nbn55pszatSo9O7du+nv0e5q48aNTZetk1cut1544YXp1KlTevfunZ/85CdZs2ZNjjnm\nmJSVlXXwtLu2zV9PHn744UydOjUPPvhgHn300axatSrHHHNM9t9//44esU3V19fniiuuyIwZM/Lk\nk09m9erVKSkpydChQ9O1a9eOHm+X9OqvNy+//HKSZNasWRk9enTGjx+fP//5z/nd736Xfv365cAD\nD8ymTZt266837aGhoSGlpaVNP/0tKSnJggUL8vTTT2fSpElpaGjIT3/60+y5554ZMmRIR4+7w179\nqockWbNmTc4555z8/ve/T69evfLPf/4zq1atSn19fY466qhW/7fxzeC1n1/Lly/PggUL8vLLL2f8\n+PE5+eSTd/rffKGwG9p8009p6f+/ILRw4cLMmTMnl1xySUaNGpVjjz02v/zlL/P888/n8MMPz957\n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\niIiIiHj5H7NllBsMXQcwAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from urlparse import urlparse\n", "dmoz_items = pd.DataFrame(items)\n", "dmoz_items['domain'] = dmoz_items['url'].apply(lambda url: urlparse(url).netloc.replace('www.', ''))\n", "ax = dmoz_items.groupby('domain').apply(len).sort(inplace=False)[-10:].plot(kind='bar')\n", "ax.set(title=\"Top 10 domains\")\n", "plt.setp(ax.xaxis.get_majorticklabels(), rotation=30);" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Closing remarks" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Scrapy](http://scrapy.org) is an excellent framework for crawling the web, however it's usage can be a bit overwhelming for users that just want to quickly scrape the data and start doing stuff, in this scenario [ScrapyDo](https://github.com/darkrho/scrapydo) provides a simplified API to start using [Scrapy](http://scrapy.org) in a straightfoward way.\n", "\n", "Happy data hacking!" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 }