Самый быстрый, простой и лучший способ разобрать таблицу HTML?

Я пытаюсь преобразовать эту таблицу http://www.datamystic.com/timezone/time_zones.html в формат массива, чтобы я мог делать все, что хочу с этим. Предпочтительно на PHP, python или JavaScript.

Это проблема, которая возникает часто, поэтому вместо того, чтобы искать помощь по этой конкретной проблеме, я ищу идеи о том, как решить все похожие проблемы.

] BeautifulSoup - это первое, что приходит на ум. Другая возможность - скопировать / вставить его в TextMate и затем запустить регулярные выражения.

Что вы предлагаете?

Это сценарий, который я написал, но, как я уже сказал, я ищу более общее решение .

from BeautifulSoup import BeautifulSoup
import urllib2


url = 'http://www.datamystic.com/timezone/time_zones.html';
response = urllib2.urlopen(url)
html = response.read()
soup = BeautifulSoup(html)
tables = soup.findAll("table")
table = tables[1]
rows = table.findAll("tr")
for row in rows:
    tds = row.findAll('td')
    if(len(tds)==4):
        countrycode = tds[1].string
        timezone = tds[2].string
        if(type(countrycode) is not type(None) and type(timezone) is not type(None)):
            print "\'%s\' => \'%s\'," % (countrycode.strip(), timezone.strip())

Комментарии и предложения по улучшению моего кода на Python тоже приветствуются;)

10
задан Zack Burt 4 February 2011 в 00:52
поделиться