title: Python BeautifulSoup is unnecessarily slow
body: <p>While this code works pretty fast:</p>
  
  <pre><code>for olay in soup("li", {"class":"textb"}):
      tanim = olay("strong")
      try:
          print tanim[0]
      except IndexError:
          pass
  </code></pre>
  
  <p>Getting string property like this makes this code considerably slower:</p>
  
  <pre><code>for olay in soup("li", {"class":"textb"}):
      tanim = olay("strong")
      try:
          print tanim[0].string
      except IndexError:
          pass
  </code></pre>
  
  <p>My question is, am I doing something that I shouldn't getting string property like that? Should I have used something else to get plain text version of an object?</p>
  
  <p>Update:
  This is also working pretty fast, so slowness is unique to string property I guess?</p>
  
  <pre><code>for olay in soup("li", {"class":"textb"}):
      tanim = olay("strong")
      try:
          print tanim[0].text
      except IndexError:
          pass
  </code></pre>