예제 #1
0
def get_price(code_number, headers):
    """
    年でループ
    """
    dfs = []
    year = range(2000, 2021)
    for y in year:
        try:
            url = "https://kabuoji3.com/stock/{}/{}/".format(code_number, y)
            soup = BeautifulSoup(
                requests.get(url, headers=headers).content, "html.parser")
            tag_tr = soup.find_all("tr")
            head = [h.text for h in tag_tr[0].find_all("th")]
            data = []
            for i in range(1, len(tag_tr)):
                data.append([d.text for d in tag_tr[i].find_all("td")])
            df = pd.DataFrame(data, columns=head)

            col = ["始値", "高値", "安値", "終値", "出来高", "終値調整"]
            for c in col:
                df[c] = df[c].astype(float)
            dfs.append(df)
        except IndexError:
            pass
    data = pd.concat(dfs, axis=0)
    data = data.reset_index(drop=True)

    return data