title: BeautifulSoup, a dictionary from an HTML table
body: <p>I am trying to scrape table data from a website.</p>
  
  <p>Here is a simple example table:</p>
  
  <pre><code>t = '&lt;html&gt;&lt;table&gt;' +\
      '&lt;tr&gt;&lt;td class="label"&gt; a &lt;/td&gt; &lt;td&gt; 1 &lt;/td&gt;&lt;/tr&gt;' +\
      '&lt;tr&gt;&lt;td class="label"&gt; b &lt;/td&gt; &lt;td&gt; 2 &lt;/td&gt;&lt;/tr&gt;' +\
      '&lt;tr&gt;&lt;td class="label"&gt; c &lt;/td&gt; &lt;td&gt; 3 &lt;/td&gt;&lt;/tr&gt;' +\
      '&lt;tr&gt;&lt;td class="label"&gt; d &lt;/td&gt; &lt;td&gt; 4 &lt;/td&gt;&lt;/tr&gt;' +\
      '&lt;/table&gt;&lt;/html&gt;'
  </code></pre>
  
  <p>Desired parse result is <code>{' a ': ' 1 ', ' b ': ' 2 ', ' c ': ' 3 ', ' d ' : ' 4' }</code></p>
  
  <hr>
  
  <p>This is my closest attempt so far:</p>
  
  <pre><code>for tr in s.findAll('tr'):
    k, v = BeautifulSoup(str(tr)).findAll('td')
    d[str(k)] = str(v)
  </code></pre>
  
  <p>Result is:</p>
  
  <pre><code>{'&lt;td class="label"&gt; a &lt;/td&gt;': '&lt;td&gt; 1 &lt;/td&gt;', '&lt;td class="label"&gt; d &lt;/td&gt;': '&lt;td&gt; 4 &lt;/td&gt;', '&lt;td class="label"&gt; b &lt;/td&gt;': '&lt;td&gt; 2 &lt;/td&gt;', '&lt;td class="label"&gt; c &lt;/td&gt;': '&lt;td&gt; 3 &lt;/td&gt;'}
  </code></pre>
  
  <p>I'm aware of the <code>text=True</code> parameter of <code>findAll()</code> but I'm not getting the expected results when I use it.</p>
  
  <p>I'm using python 2.6 and BeautifulSoup3.</p>