[EMAIL PROTECTED] wrote:
>.>> soup = BeautifulSoup(html)
>.>> ord_tbl_price = soup.find('td', {'class': 'order_tbl_price'})
>.>> ord_tbl_price
> <td class="order_tbl_price"><span class="order_table_price_small"
> </span> $32.66</td>
> 
> So now, how do I reduce the price by 15% and write it back to the 
> document?
Not sure if this is the right way, but it seems to work for me, YMMV:

html = """\
<td class="order_tbl_price"><span
class="order_table_price_small">From</span> $32.66</td>"""

soup = BeautifulSoup(html)
otp = soup.find('td', {'class': 'order_tbl_price'})
price = float(otp.contents[1].lstrip(' $'))
otp.contents[1].replaceWith('$%0.2f' % (price * 0.85))

print soup.renderContents()

"""
<td class="order_tbl_price"><span
class="order_table_price_small">From</span>$27.76</td>
"""

I'll second Kent's suggestion to experiment on the command line, and go
one further -- download and install the ipython interpreter[1]. It
offers tab-completion of methods and attributes of an object (for
example, type yourobject.<tab>), easy access to doc-strings with a
single ?, the source code (when available) with ??, and much much
more[2]. It's a real time saver, even if you don't use the fancier
features it beats dir()/help() hands down.

[1] http://ipython.scipy.org/moin/
[2] http://ipython.scipy.org/doc/manual/node4.html

HTH,
Marty






_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to