A simple web scraper
This is a very good attempt for the first Python venture!



Here is what I would consider improving:


stylistic / PEP8


naming. In Python, it is recommended to use lower_case_with_underscores notation. Your function and variable names are inconsistent and there is a mix of styles - e.g. cur_startDateString follows both camelCase and lower_case_with_underscores
the user of blank lines. In Python, it is recommended to have 2 blank lines between top-level blocks of the code and have an extra new-line at the end of the script
the use of whitespaces. Watch for whitespaces after commas in expressions, e.g.:

for idx,entry in enumerate(gameEntries,start=1):
   ^                              ^

import grouping and order. See Imports section of the PEP8
parenthesis around the return value are redundant
consider adding docstrings explaining what your functions are about. For instance, getLatestFilename would benefit from a note about how does it define which file is the latest. And, parseUrl is not really easy to understand just by reading the code
if you are using Python 3.5+, consider adding Type Hints

Design and modularity


it is a good thing that you tried to logically separate scraping from parsing
I would also separate parsing and dumping the results into a CSV file

HTML Parsing


if performance is a concern, consider switching from html.parser to lxml - see "Installing a Parser" section of the documentation
you could also improve performance of the parsing stage by using a SoupStrainer which allows you to parse the desired part of the HTML tree in the first place:

from bs4 import BeautifulSoup, SoupStrainer

parse_only = SoupStrainer(class_='entry')
soup = BeautifulSoup(page.text, 'lxml', parse_only=parse_only)

.findNext() is deprecated in favour of .find_next()

Other


getUrl() method feels a little bit overcomplicated and you can definitely improve its readability and simplify it at the same time. Plus, I would make it return the URL as a string and not as a list to avoid any extra external code needed to make it a string. If you are using Python 3.6+, f-strings would be handy:

def get_url(filename: str) -&gt; str:
    """Constructs a complete URL based on the filename and current date."""
    current_interval = parse_url(filename)

    now = datetime.datetime.now()

    return f"https://gematsu.com/{now.year}/{now.month}/media-create-sales-{current_interval}"


Having the complete URL string with placeholders helps to see what the end result might look like.



Note that most of the PEP8 violations mentioned above could be caught by running a linter (like flake8, or pylint) against your code.