繁体   English   中英

如何用python和beautifulsoup解析html表并写入csv

[英]How to parse html table with python and beautifulsoup and write to csv

我尝试解析html页面并获取货币值并写入csv。 我有以下代码:

#!/usr/bin/env python

import urllib2
from BeautifulSoup import BeautifulSoup

contenturl = "http://www.bank.gov.ua/control/en/curmetal/detail/currency?period=daily"
soup = BeautifulSoup(urllib2.urlopen(contenturl).read())

table = soup.find('div', attrs={'class': 'content'})

rows = table.findAll('tr')
for tr in rows:
    cols = tr.findAll('td')
    for td in cols:
        text = td.find(text=True) + ';'
        print text,
    print

问题是,我不知道,如何只检索货币的值。 我尝试了一些像'^ [0-9] {3}'这样的正则表达式 - 以3位开头,但它不起作用。

你最好选择表格中的特定细胞。 具有cell_c类的td单元格包含您感兴趣的数据,最后一个单元格始终是货币汇率:

rows = table.findAll('tr')
for tr in rows:
    cols = tr.findAll('td')
    if 'cell_c' in cols[0]['class']:
        # currency row
        digital_code, letter_code, units, name, rate = [c.text for c in cols]
        print digital_code, letter_code, units, name, rate

使用单独变量中的数据,您现在可以将文本转换为十进制数,将它们存储在数据库中,无论如何。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM