¿Cuál es la mejor manera de predecir las mareas?

La mejor solución sería utilizar la API de un servicio que proporcione esta información. Un ejemplo está disponible aquí: API de recuperación de datos CO-OPS

En Python, una buena manera sería usar el módulo de requests para eso. Acabo de probar con el ejemplo proporcionado en la página vinculada (usando JSON en lugar de XML porque es mucho más fácil de manipular después):

  >>> solicitudes de importación
 >>> r = requests.get ("http://tidesandcurrents.noaa.gov/api/datagetter?begin_date=20130101 10: 00 & end_date = 20130101 10: 24 & station_8pacea las partes de las personas en las que se encuentran: )
 >>> imprimir r.json ()
 {u'data ': [{u'q': u'v ', u's': u'0.003 ', u'f': u'0,0,0,0 ', u't': u'2013 -01-01 10:00 ', u'v': u'0.072 '}, {u'q': u'v ', u's': u'0.003 ', u'f': u'0,0, 0,0 ', u't': u'2013-01-01 10:06 ', u'v': u'0.095 '}, {u'q': u'v ', u's': u'0.003 ', u'f': u'0,0,0,0 ', u't': u'2013-01-01 10:12 ', u'v': u'0.115 '}, {u'q ': u'v', u's ': u'0.004', u'f ': u'0,0,0,0', u't ': u'2013-01-01 10:18', u ' v ': u'0.138'}, {u'q ': u'v', u's ': u'0.004', u'f ': u'0,0,0,0', u't ': u '2013-01-01 10:24', u'v ': u'0.167'}], u'metadata ': {u'lat': u'41.8071 ', u'lon': u'-71.4012 ', u'id ': u'8454000', u'name ': u'Providence'}}

Espero que esto ayude.

Simplemente lo buscaría en el Almanaque, o un equivalente en línea.

¿Por qué recalcular lo que los expertos ya han hecho por ti?