import requests
from urllib.parse import urlencode
import pandas as pd
class Investing():
def __init__(self):
super().__init__()
@property
def headers(self):
return {
"User-Agent": "Mozilla/5.0 (Windows; Windows NT 6.1; rv:2.0b2) Gecko/20100720 Firefox/4.0b2",
"X-Requested-With": "XMLHttpRequest",
"Accept": "text/html",
"Accept-Encoding": "gzip, deflate",
"Connection": "keep-alive",
}
def get_scrapeops_url(self, url):
API_KEY = ''
payload = {'api_key': API_KEY, 'url': url}
proxy_url = 'https://proxy.scrapeops.io/v1/?' + urlencode(payload)
return proxy_url
def earnings(self, code=None):
investing_comp_name = 'samsung-electronics-co-ltd'
try:
url = 'https://kr.investing.com/equities/' + investing_comp_name + '-earnings'
page = requests.get(self.get_scrapeops_url(url), headers=self.headers)
df = pd.read_html(page.text, match='발표일', header=0, encoding='utf-8')
df[0].columns = df[0].columns.str.replace('[/,\s]', '', regex=True)
for idx, r in df[0].iterrows():
try:
print(r)
except KeyError as e:
print('I got a KeyError ' + investing_comp_name + ' - reason "%s"' % str(e))
except Exception as e:
print('I got a Exception ' + investing_comp_name + ' - reason "%s"' % str(e))
raise
except Exception as e:
print('I got a Exception Outer ' + investing_comp_name + ' - reason "%s"' % str(e))
if __name__ == "__main__":
investing = Investing()
investing.earnings()
발표일 2023년 08월 02일
마감기준 06/2023
주당순이익 --
예측 / 228.09
매출 --
예측.1 / 64,357.69B
Name: 0, dtype: object
발표일 2023년 04월 27일
마감기준 03/2023
주당순이익 --
예측 / 258.66
매출 --
예측.1 / 64,454.18B
Name: 1, dtype: object
발표일 2023년 01월 31일
마감기준 12/2022
주당순이익 3460
예측 / 718.98
매출 70,460B
예측.1 / 71,917.68B
Name: 2, dtype: object
발표일 2022년 10월 27일
마감기준 09/2022
주당순이익 1346
예측 / 1365.08
매출 76,780B
예측.1 / 77,114.25B
Name: 3, dtype: object
발표일 2022년 07월 28일
마감기준 06/2022
주당순이익 1613
예측 / 1604.73
매출 77,200B
예측.1 / 76,992.12B
Name: 4, dtype: object
발표일 2022년 04월 28일
마감기준 03/2022
주당순이익 1638
예측 / 1560.45
매출 77,780B
예측.1 / 76,304.21B
Name: 5, dtype: object