def fetch_drivers() -> DataFrame: url: str = DRIVERS_URL response: str = get_response(url) soup: BeautifulSoup = parse(response) drivers: DataFrame = parse_drivers(soup) return drivers
def fetch_results(_for: str = "drivers", year: Optional[int] = None) -> pd.DataFrame: if not year: year = datetime.now().year url: str = f"https://www.formula1.com/en/results.html/{year}/{_for}.html" table: Optional[BeautifulSoup] = get_result_table(parse(get_response(url))) if table is None: raise ValueError("Invalid Season Year") cols: List[str] = get_cols(table) entries: List[List[str]] = get_values(table) return pd.DataFrame(entries, columns=cols)
def test_parse(): response = requests.get('http://216.58.192.142') soup = parse(response.text) assert isinstance(soup, BeautifulSoup)
def fetch_driver(url: str) -> Dict[str, str]: response: str = get_response(url) soup: BeautifulSoup = parse(response) driver: Dict[str, str] = parse_driver(soup) return driver
def fetch_top_stories(img_size: int = 1) -> DataFrame: resp: str = get_response(LATEST_NEWS_URL) soup: BeautifulSoup = parse(resp) top_stories: List[Dict[str, Union[str, List[str]]]] = parse_top_stories(soup, img_size=img_size) return DataFrame(top_stories)