[python] investing 순이익, 매출 크롤링 updated_at: 2024-12-14 14:58

investing 순이익, 매출 크롤링

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
평점을 남겨주세요
평점 : 5.0
총 투표수 : 1

질문 및 답글