Tôi cố gắng phân tích cú pháp trang html và tìm nạp giá trị cho tiền tệ và ghi vào csv. Tôi đã mã sau:Cách phân tích cú pháp bảng html với python và beautifulsoup và ghi vào 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
Vấn đề là, mà tôi không biết, làm thế nào để lấy chỉ có giá trị cho tiền tệ. Tôi đã thử một số regexp như '^ [0-9] {3}' - bắt đầu bằng 3 chữ số nhưng nó không hoạt động.
Lý do bạn sử dụng BeautifulSoup 3 thay vì 4? Không phải là nó quan trọng đối với vấn đề của bạn, nhưng bs4 cung cấp chức năng tốt hơn nhiều ở những nơi. –
Bạn đang cố gắng để có được chỉ là giá trị của "tỷ giá hối đoái chính thức" cột? – jurgenreza