<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de Jean-Christophe Lavocat &#187; Python</title>
	<atom:link href="http://jice.lavocat.name/blog/category/informatique/python-informatique/feed/" rel="self" type="application/rss+xml" />
	<link>http://jice.lavocat.name/blog</link>
	<description>Mon Bioblog (humeurs, tendances et aventures en tout genres)</description>
	<lastBuildDate>Mon, 05 Dec 2011 20:51:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>A script to plot GWL File (for the use of Nanoscribe)</title>
		<link>http://jice.lavocat.name/blog/2010/11/a-script-to-plot-gwl-file-for-the-use-of-nanoscribe/</link>
		<comments>http://jice.lavocat.name/blog/2010/11/a-script-to-plot-gwl-file-for-the-use-of-nanoscribe/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 09:54:14 +0000</pubDate>
		<dc:creator>Jice</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Sciences]]></category>
		<category><![CDATA[nanoscribe]]></category>
		<category><![CDATA[nanotechnology]]></category>
		<category><![CDATA[physics]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://jice.lavocat.name/blog/?p=1115</guid>
		<description><![CDATA[The focus of this article is really small. It will only interest people involved in Research, who own a Nanoscribe device. I was a little bit annoyed by the software, very heavy, and running only on windows. I wanted to design my structures on Linux (or any plateform actually), and I wanted to plot the [...]]]></description>
			<content:encoded><![CDATA[<p><img src="file:///tmp/moz-screenshot.png" alt="" /><img class="alignleft size-full wp-image-1121" style="margin-left: 10px; margin-right: 10px;" title="describe - nanoscribe language GWL" src="http://jice.lavocat.name/blog/wp-content/uploads/2010/11/describe1.png" alt="describe - nanoscribe language GWL" width="106" height="105" />The focus of this article is really small. It will only interest people involved in Research, who own a <a title="Nanoscribe" href="http://www.nanoscribe.de/" target="_blank">Nanoscribe</a> device.</p>
<p>I was a little bit annoyed by the software, very heavy, and running only on windows. I wanted to design my structures on Linux (or any plateform actually), and I wanted to plot the result with a light software.</p>
<p>I programmed a small script in Python to plot <strong>2D structures written in gwl</strong>. In order to run it, ou need to have Python 2.6, Matplotlib and SciPy (in order to have Numpy functions). You also have to use the preamble module I use and which is also included in the archive.</p>
<p>To use it, put the module, the script and the GWL file in the same folder. Then modify the script and include the name of your gwl file. Finally, open a consol, and type :</p>
<pre>python plot_gwl.py</pre>
<p>You can modify and improve this small script, and I would be happy to see the modifications (probably 3D would be a good step forward).</p>
<p>Download the archive : <a href="http://jice.lavocat.name/blog/wp-content/uploads/2010/11/Plot_GWL.1.0.zip">Plot_GWL.1.0.zip</a> (contains the script to plot and the module)</p>
<p> </p>
<p><em>Edit</em> 22 Nov. 2010 : I implemented the <strong>3D visualization</strong> . The same command is required to use it (modify line 26  <em>"open('your_filename.gwl','r')"</em> ) . Comments have been added to help you understading the script. A future addition will take in account an input parameter (instead of modifing the script every time to tell it which file to plot).</p>
<p>Download the new archive : <a href="http://jice.lavocat.name/blog/wp-content/uploads/2010/11/Plot_GWL.1.1.zip">Plot_GWL.1.1.zip</a></p>
<p>Example of a 3D plot :</p>
<p style="text-align: center;"><a href="http://jice.lavocat.name/blog/wp-content/uploads/2010/11/tour_eiffel.png"><img title="tour_eiffel" src="http://jice.lavocat.name/blog/wp-content/uploads/2010/11/tour_eiffel-300x222.png" alt="Tour Eiffel with Nanoscribe" width="300" height="222" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://jice.lavocat.name/blog/2010/11/a-script-to-plot-gwl-file-for-the-use-of-nanoscribe/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Python et Google PageRank</title>
		<link>http://jice.lavocat.name/blog/2009/07/python-et-google-pagerank/</link>
		<comments>http://jice.lavocat.name/blog/2009/07/python-et-google-pagerank/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 05:14:31 +0000</pubDate>
		<dc:creator>Jice</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Pagerank]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://jice.lavocat.name/blog/?p=550</guid>
		<description><![CDATA[Suite à mes recherches pour trouver un script de calcul de Pagerank en python, je souhaitais vous présenter deux pages qui me sont tombées sous les yeux. Script de vérification de Pagerank en Python : Ce script permet d'aller chercher la valeur de Pagerank Google d'un site donné en argument. Cela sert pour toutes sortes [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft size-full wp-image-422" style="margin: 5px;" title="python" src="http://jice.lavocat.name/blog/wp-content/uploads/2009/06/python.png" alt="python" width="75" height="75" />Suite à mes recherches pour trouver un script de calcul de Pagerank en python, je souhaitais vous présenter deux pages qui me sont tombées sous les yeux.</p>
<p style="text-align: justify;"><span id="more-550"></span></p>
<h2 style="text-align: justify;">Script de vérification de Pagerank en Python :</h2>
<p style="text-align: justify;">Ce script permet d'aller chercher la valeur de Pagerank Google d'un site donné en argument. Cela sert pour toutes sortes de choses dans le monde du SEO. La page en question est là :</p>
<p style="text-align: justify;"><a title="Script calcul pagerank python" href="http://blogmag.net/blog/read/91/Python_code_to_check_your_Google_PageRank" target="_blank">http://blogmag.net/blog/read/91/Python_code_to_check_your_Google_PageRank</a></p>
<p style="text-align: justify;">Testé aujourd'hui (1er Juillet 2009), le script fonctionne parfaitement bien. Ceux que j'ai pu trouver en php ne marchaient pas ( google me considère comme un pirate vous savez). Si vous en possédez en PHP, je suis preneur</p>
<h2 style="text-align: justify;">Script de calcul de PageRank ( Google-like)</h2>
<p style="text-align: justify;">La page suivante se base sur un <a title="Pagerank algorithme" href="http://www.ams.org/featurecolumn/archive/pagerank.html" target="_blank">article publié à l'AMS</a>, mais dont le principe <a href="http://www.mattcutts.com/blog/pagerank-sculpting/" target="_blank">ne décrit pas exactement le fonctionnement de Google</a>.</p>
<p style="text-align: justify;">Le script écrit en python tente de reproduire le fonctionnement d'un algorithme de Pagerank. Je ne l'ai pas testé, mais ça peut interesser du monde :</p>
<p style="text-align: justify;"><a title="Pagerank algorithme en Python" href="http://www.eioba.com/a69792/the_google_pagerank_algorithm_in_126_lines_of_python" target="_blank">http://www.eioba.com/a69792/the_google_pagerank_algorithm_in_126_lines_of_python</a></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<pre><span class="c">#!/usr/bin/env python</span>
<span class="c"># -*- coding: utf-8 -*-</span>
<span class="c"># (C) 2008 Fred Cirera</span>
<span class="c"># ported in Python from the Ruby code by Vsevolod S. Balashov</span>
<span class="c"># http://snippets.dzone.com/posts/show/3284</span>

<span class="k">import</span> <span class="nn">urllib2</span>
<span class="k">import</span> <span class="nn">re</span>
<span class="k">import</span> <span class="nn">time</span>
<span class="k">import</span> <span class="nn">sys</span>

<span class="k">from</span> <span class="nn">urllib</span> <span class="k">import</span> <span class="n">urlencode</span>
<span class="k">from</span> <span class="nn">pprint</span> <span class="k">import</span> <span class="n">pprint</span>

<span class="n">HOST</span> <span class="o">=</span> <span class="s">"toolbarqueries.google.com"</span>

<span class="k">def</span> <span class="nf">mix</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">):</span>
    <span class="n">M</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">v</span><span class="p">:</span> <span class="n">v</span> <span class="o">%</span> <span class="mf">0</span><span class="n">x100000000</span> <span class="c"># int32 modulo</span>
    <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span> <span class="o">=</span> <span class="p">(</span><span class="n">M</span><span class="p">(</span><span class="n">a</span><span class="p">),</span> <span class="n">M</span><span class="p">(</span><span class="n">b</span><span class="p">),</span> <span class="n">M</span><span class="p">(</span><span class="n">c</span><span class="p">))</span>

    <span class="n">a</span> <span class="o">=</span> <span class="n">M</span><span class="p">(</span><span class="n">a</span><span class="o">-</span><span class="n">b</span><span class="o">-</span><span class="n">c</span><span class="p">)</span> <span class="o">^</span> <span class="p">(</span><span class="n">c</span> <span class="o">&gt;&gt;</span> <span class="mf">13</span><span class="p">)</span>
    <span class="n">b</span> <span class="o">=</span> <span class="n">M</span><span class="p">(</span><span class="n">b</span><span class="o">-</span><span class="n">c</span><span class="o">-</span><span class="n">a</span><span class="p">)</span> <span class="o">^</span> <span class="p">(</span><span class="n">a</span> <span class="o">&lt;&lt;</span>  <span class="mf">8</span><span class="p">)</span>
    <span class="n">c</span> <span class="o">=</span> <span class="n">M</span><span class="p">(</span><span class="n">c</span><span class="o">-</span><span class="n">a</span><span class="o">-</span><span class="n">b</span><span class="p">)</span> <span class="o">^</span> <span class="p">(</span><span class="n">b</span> <span class="o">&gt;&gt;</span> <span class="mf">13</span><span class="p">)</span>

    <span class="n">a</span> <span class="o">=</span> <span class="n">M</span><span class="p">(</span><span class="n">a</span><span class="o">-</span><span class="n">b</span><span class="o">-</span><span class="n">c</span><span class="p">)</span> <span class="o">^</span> <span class="p">(</span><span class="n">c</span> <span class="o">&gt;&gt;</span> <span class="mf">12</span><span class="p">)</span>
    <span class="n">b</span> <span class="o">=</span> <span class="n">M</span><span class="p">(</span><span class="n">b</span><span class="o">-</span><span class="n">c</span><span class="o">-</span><span class="n">a</span><span class="p">)</span> <span class="o">^</span> <span class="p">(</span><span class="n">a</span> <span class="o">&lt;&lt;</span> <span class="mf">16</span><span class="p">)</span>
    <span class="n">c</span> <span class="o">=</span> <span class="n">M</span><span class="p">(</span><span class="n">c</span><span class="o">-</span><span class="n">a</span><span class="o">-</span><span class="n">b</span><span class="p">)</span> <span class="o">^</span> <span class="p">(</span><span class="n">b</span> <span class="o">&gt;&gt;</span> <span class="mf">5</span><span class="p">)</span>

    <span class="n">a</span> <span class="o">=</span> <span class="n">M</span><span class="p">(</span><span class="n">a</span><span class="o">-</span><span class="n">b</span><span class="o">-</span><span class="n">c</span><span class="p">)</span> <span class="o">^</span> <span class="p">(</span><span class="n">c</span> <span class="o">&gt;&gt;</span>  <span class="mf">3</span><span class="p">)</span>
    <span class="n">b</span> <span class="o">=</span> <span class="n">M</span><span class="p">(</span><span class="n">b</span><span class="o">-</span><span class="n">c</span><span class="o">-</span><span class="n">a</span><span class="p">)</span> <span class="o">^</span> <span class="p">(</span><span class="n">a</span> <span class="o">&lt;&lt;</span> <span class="mf">10</span><span class="p">)</span>
    <span class="n">c</span> <span class="o">=</span> <span class="n">M</span><span class="p">(</span><span class="n">c</span><span class="o">-</span><span class="n">a</span><span class="o">-</span><span class="n">b</span><span class="p">)</span> <span class="o">^</span> <span class="p">(</span><span class="n">b</span> <span class="o">&gt;&gt;</span> <span class="mf">15</span><span class="p">)</span>

    <span class="k">return</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span>

<span class="k">def</span> <span class="nf">checksum</span><span class="p">(</span><span class="n">iurl</span><span class="p">):</span>
    <span class="n">C2I</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">s</span><span class="p">:</span> <span class="nb">sum</span><span class="p">(</span><span class="n">c</span> <span class="o">&lt;&lt;</span> <span class="mf">8</span><span class="o">*</span><span class="n">i</span> <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">c</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">s</span><span class="p">[:</span><span class="mf">4</span><span class="p">]))</span>
    <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span> <span class="o">=</span> <span class="mf">0</span><span class="n">x9e3779b9</span><span class="p">,</span> <span class="mf">0</span><span class="n">x9e3779b9</span><span class="p">,</span> <span class="mf">0</span><span class="n">xe6359a60</span>
    <span class="n">lg</span>  <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">iurl</span><span class="p">)</span>
    <span class="n">k</span> <span class="o">=</span> <span class="mf">0</span>
    <span class="k">while</span> <span class="n">k</span> <span class="o">&lt;=</span> <span class="n">lg</span><span class="o">-</span><span class="mf">12</span><span class="p">:</span>
        <span class="n">a</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">C2I</span><span class="p">(</span><span class="n">iurl</span><span class="p">[</span><span class="n">k</span><span class="p">:</span><span class="n">k</span><span class="o">+</span><span class="mf">4</span><span class="p">])</span>
        <span class="n">b</span> <span class="o">=</span> <span class="n">b</span> <span class="o">+</span> <span class="n">C2I</span><span class="p">(</span><span class="n">iurl</span><span class="p">[</span><span class="n">k</span><span class="o">+</span><span class="mf">4</span><span class="p">:</span><span class="n">k</span><span class="o">+</span><span class="mf">8</span><span class="p">])</span>
        <span class="n">c</span> <span class="o">=</span> <span class="n">c</span> <span class="o">+</span> <span class="n">C2I</span><span class="p">(</span><span class="n">iurl</span><span class="p">[</span><span class="n">k</span><span class="o">+</span><span class="mf">8</span><span class="p">:</span><span class="n">k</span><span class="o">+</span><span class="mf">12</span><span class="p">])</span>
        <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span> <span class="o">=</span> <span class="n">mix</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span>
        <span class="n">k</span> <span class="o">+=</span> <span class="mf">12</span>

    <span class="n">a</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">C2I</span><span class="p">(</span><span class="n">iurl</span><span class="p">[</span><span class="n">k</span><span class="p">:</span><span class="n">k</span><span class="o">+</span><span class="mf">4</span><span class="p">])</span>
    <span class="n">b</span> <span class="o">=</span> <span class="n">b</span> <span class="o">+</span> <span class="n">C2I</span><span class="p">(</span><span class="n">iurl</span><span class="p">[</span><span class="n">k</span><span class="o">+</span><span class="mf">4</span><span class="p">:</span><span class="n">k</span><span class="o">+</span><span class="mf">8</span><span class="p">])</span>
    <span class="n">c</span> <span class="o">=</span> <span class="n">c</span> <span class="o">+</span> <span class="p">(</span><span class="n">C2I</span><span class="p">(</span><span class="n">iurl</span><span class="p">[</span><span class="n">k</span><span class="o">+</span><span class="mf">8</span><span class="p">:])</span><span class="o">&lt;&lt;</span><span class="mf">8</span><span class="p">)</span> <span class="o">+</span> <span class="n">lg</span>
    <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span> <span class="o">=</span> <span class="n">mix</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span>
    <span class="k">return</span> <span class="n">c</span>

<span class="k">def</span> <span class="nf">GoogleHash</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>
    <span class="n">I2C</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">i</span><span class="p">:</span> <span class="p">[</span><span class="n">i</span> <span class="o">&amp;</span> <span class="mf">0</span><span class="n">xff</span><span class="p">,</span> <span class="n">i</span> <span class="o">&gt;&gt;</span> <span class="mf">8</span> <span class="o">&amp;</span> <span class="mf">0</span><span class="n">xff</span><span class="p">,</span>  <span class="n">i</span> <span class="o">&gt;&gt;</span> <span class="mf">16</span> <span class="o">&amp;</span> <span class="mf">0</span><span class="n">xff</span><span class="p">,</span> <span class="n">i</span> <span class="o">&gt;&gt;</span> <span class="mf">24</span> <span class="o">&amp;</span> <span class="mf">0</span><span class="n">xff</span><span class="p">]</span>
    <span class="n">ch</span> <span class="o">=</span> <span class="n">checksum</span><span class="p">([</span><span class="nb">ord</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">value</span><span class="p">])</span>
    <span class="n">ch</span> <span class="o">=</span> <span class="p">((</span><span class="n">ch</span> <span class="o">%</span> <span class="mf">0</span><span class="n">x0d</span><span class="p">)</span> <span class="o">&amp;</span> <span class="mf">7</span><span class="p">)</span> <span class="o">|</span> <span class="p">((</span><span class="n">ch</span><span class="o">/</span><span class="mf">7</span><span class="p">)</span> <span class="o">&lt;&lt;</span> <span class="mf">2</span><span class="p">)</span>
    <span class="k">return</span> <span class="s">"6</span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> <span class="n">checksum</span><span class="p">(</span><span class="nb">sum</span><span class="p">((</span><span class="n">I2C</span><span class="p">(</span><span class="n">ch</span><span class="o">-</span><span class="mf">9</span><span class="o">*</span><span class="n">i</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mf">20</span><span class="p">)),</span> <span class="p">[]))</span>

<span class="k">def</span> <span class="nf">make_url</span><span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">site_url</span><span class="p">):</span>
    <span class="n">url</span> <span class="o">=</span> <span class="s">"info:"</span> <span class="o">+</span> <span class="n">site_url</span>
    <span class="n">params</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">client</span><span class="o">=</span><span class="s">"navclient-auto"</span><span class="p">,</span> <span class="n">ch</span><span class="o">=</span><span class="s">"</span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> <span class="n">GoogleHash</span><span class="p">(</span><span class="n">url</span><span class="p">),</span>
                  <span class="n">ie</span><span class="o">=</span><span class="s">"UTF-8"</span><span class="p">,</span> <span class="n">oe</span><span class="o">=</span><span class="s">"UTF-8"</span><span class="p">,</span> <span class="n">features</span><span class="o">=</span><span class="s">"Rank"</span><span class="p">,</span> <span class="n">q</span><span class="o">=</span><span class="n">url</span><span class="p">)</span>
    <span class="k">return</span> <span class="s">"http://</span><span class="si">%s</span><span class="s">/search?</span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">urlencode</span><span class="p">(</span><span class="n">params</span><span class="p">))</span>

<span class="c"># Where the fun begins</span>

<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">"__main__"</span><span class="p">:</span>
    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">)</span> <span class="o">!=</span> <span class="mf">2</span><span class="p">:</span>
        <span class="n">url</span> <span class="o">=</span> <span class="s">'http://www.google.com/'</span>
    <span class="k">else</span><span class="p">:</span>
        <span class="n">url</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mf">1</span><span class="p">]</span>

    <span class="k">if</span> <span class="ow">not</span> <span class="n">url</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s">'http://'</span><span class="p">):</span>
        <span class="n">url</span> <span class="o">=</span> <span class="s">'http://</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">url</span>

    <span class="c"># print make_url(HOST, url)</span>
    <span class="n">req</span> <span class="o">=</span> <span class="n">urllib2</span><span class="o">.</span><span class="n">Request</span><span class="p">(</span><span class="n">make_url</span><span class="p">(</span><span class="n">HOST</span><span class="p">,</span> <span class="n">url</span><span class="p">))</span>
    <span class="k">try</span><span class="p">:</span>
        <span class="n">f</span> <span class="o">=</span> <span class="n">urllib2</span><span class="o">.</span><span class="n">urlopen</span><span class="p">(</span><span class="n">req</span><span class="p">)</span>
        <span class="n">response</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">readline</span><span class="p">()</span>
    <span class="k">except</span> <span class="ne">Exception</span><span class="p">,</span> <span class="n">err</span><span class="p">:</span>
        <span class="k">print</span> <span class="n">err</span>
        <span class="c"># print err.read()</span>
        <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mf">1</span><span class="p">)</span>

    <span class="k">try</span><span class="p">:</span>
        <span class="n">rank</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="s">r'^Rank_\d+:\d+:(\d+)'</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span><span class="o">.</span><span class="n">group</span><span class="p">(</span><span class="mf">1</span><span class="p">)</span>
    <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
        <span class="k">print</span> <span class="s">"This page is not ranked"</span>
        <span class="n">rank</span> <span class="o">=</span> <span class="o">-</span><span class="mf">1</span>

    <span class="k">print</span> <span class="s">"PagerRank: </span><span class="si">%d</span><span class="se">\t</span><span class="s">URL: </span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span> <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">rank</span><span class="p">),</span> <span class="n">url</span><span class="p">)</span></pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://jice.lavocat.name/blog/2009/07/python-et-google-pagerank/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

