Crawling pages to obtain .htm and .txt files from sec.gov
Since you never use getLinks without a call to getFullLink afterwards, I would merge these two functions. I would also make it a generator:

def get_links(soup, pattern):
    for link in soup.select(pattern):
        yield urljoin(base, link.get("href"))


Then your main part can become this nested for loop:

if __name__ == "__main__":
    pattern1 = "#seriesDiv [href*='&amp;CIK']"
    pattern2 = "[id=documentsbutton]"
    pattern3 = "[summary='Document Format Files'] td:nth-of-type(3) [href$='.htm'],td:nth-of-type(3) [href$='.txt']"

    final_links = []
    for first_link in get_links(make_soup(start_urls[0]), pattern1):
        for second_link in get_links(make_soup(first_link), pattern2):
            final_links.extend(get_links(make_soup(second_link), pattern3))
    print(final_links)


I also renamed your functions according to Python's official style-guide, PEP8 and added a if __name__ == "__main__": guard.

One way to make this a bit faster (this sounds like it could be a lot of requests) is to use requests.Session to re-use the connection to the server:

session = requests.Session()

def make_soup(url):
    res = session.get(url)
    res.raise_for_status()
    return BeautifulSoup(res.content, "lxml")


Here I also added a guard so that the program stops if any site does not exists (i.e. returns 404 or similar).