Source code for finvizfinance.calendar

"""
.. module:: calendar
   :synopsis: calendar.

.. moduleauthor:: Tianning Li <ltianningli@gmail.com>
"""

import re
import pandas as pd
from finvizfinance.util import web_scrap


[docs] class Calendar: """Calendar Getting information from the finviz calendar page. """ def __init__(self): """initiate module""" pass
[docs] def calendar(self): """Get economic calendar table. Returns: df(pandas.DataFrame): economic calendar table """ soup = web_scrap("https://finviz.com/calendar.ashx") tables = soup.find_all("table", class_="calendar") frame = [] for table in tables: rows = table.find_all("tr") # check row if rows[1].find_all("td")[2].text != "No economic releases": # parse date date = rows[0].find("td").text for row in rows[1:]: cols = row.find_all("td") info_dict = { "Datetime": "{}, {}".format(date, cols[0].text), "Release": cols[2].text, "Impact": re.findall( "gfx/calendar/impact_(.*).gif", cols[3].find("img")["src"] )[0], "For": cols[4].text, "Actual": cols[5].text, "Expected": cols[6].text, "Prior": cols[7].text, } frame.append(info_dict) return pd.DataFrame(frame)