scraper2-hj3415 0.1.1__py3-none-any.whl → 0.1.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,4 @@
1
1
  from itemadapter import ItemAdapter
2
- from pymongo import errors
3
2
  from pprint import pprint
4
3
  from util_hj3415 import mongo
5
4
 
@@ -9,7 +8,7 @@ formatter = logging.Formatter('%(levelname)s: [%(name)s] %(message)s')
9
8
  ch = logging.StreamHandler()
10
9
  ch.setFormatter(formatter)
11
10
  logger.addHandler(ch)
12
- logger.setLevel(logging.DEBUG)
11
+ logger.setLevel(logging.WARNING)
13
12
 
14
13
 
15
14
  class ValidationPipeline:
@@ -22,9 +21,9 @@ class ValidationPipeline:
22
21
  # eps, bps, per, pbr을 직접 계산해서 바꾸기 위해 c104 page를 찾는다.
23
22
  try:
24
23
  logger.debug('Try to get c104 page for calculate values..')
25
- c104 = mongo.C104(spider.mongo_client, item['코드'], 'c104q')
26
- d, eps = c104.sum_recent_4q('EPS') # 최근 4분기 eps값을 더한다.
27
- d, bps = c104.latest_value('BPS') # 마지막 분기 bps값을 찾는다.
24
+ c104q_data = mongo.C104(spider.mongo_client, item['코드'], 'c104q')
25
+ d, eps = c104q_data.sum_recent_4q('EPS') # 최근 4분기 eps값을 더한다.
26
+ d, bps = c104q_data.latest_value('BPS') # 마지막 분기 bps값을 찾는다.
28
27
 
29
28
  # per, pbr을 구하는 람다함수
30
29
  cal_ratio = (lambda eps_bps, pprice:
@@ -41,13 +40,13 @@ class ValidationPipeline:
41
40
  item['EPS'], item['BPS'], item['PER'], item['PBR'] = eps, bps, cal_per, cal_pbr
42
41
  if 'c103' in spider.name:
43
42
  # pprint(item)
44
- print(" Nothing special working")
43
+ print(" Nothing special for working")
45
44
  if 'c104' in spider.name:
46
- #pprint(item)
47
- print(" Nothing special working")
45
+ # pprint(item)
46
+ print(" Nothing special for working")
48
47
  if spider.name == 'c106':
49
48
  pprint(item)
50
- print(" Nothing special working")
49
+ print(" Nothing special for working")
51
50
  return item
52
51
 
53
52
 
@@ -61,19 +60,12 @@ class MongoPipeline:
61
60
  if spider.name == 'c101':
62
61
  page = spider.name
63
62
  print(f" code : {item['코드']} / page : {page}")
64
- c101_col = spider.mongo_client[item['코드']][page]
65
- try:
66
- c101_col.create_index('date', unique=True)
67
- c101_col.insert_one(ItemAdapter(item).asdict())
68
- except errors.DuplicateKeyError:
69
- # 스크랩한 데이터가 이미 데이터베이스에 있을경우 지우고 저장
70
- c101_col.delete_many({'date': {"$gte": item['date']}})
71
- c101_col.insert_one(ItemAdapter(item).asdict())
63
+ mongo.C101(spider.mongo_client, item['코드']).save_dict(ItemAdapter(item).asdict())
72
64
  elif 'c103' in spider.name:
73
65
  page = ''.join(['c103', item['title']])
74
66
  print(f" code : {item['코드']} / page : {page}")
75
- #logging.debug(item['df'].to_dict('records'))
76
- #r = mongo2.C103(self.client, item['코드'], page).save(item['df'])
67
+ logging.debug(item['df'].to_dict('records'))
68
+ mongo.C103(spider.mongo_client, item['코드'], page).save_df(item['df'])
77
69
  elif 'c104' in spider.name:
78
70
  if item['title'].endswith('y'):
79
71
  page = 'c104y'
@@ -83,7 +75,7 @@ class MongoPipeline:
83
75
  raise ValueError
84
76
  print(f" code : {item['코드']} / page : {page}({item['title']})")
85
77
  logging.debug(item['df'].to_dict('records'))
86
- r = mongo.C104(spider.mongo_client, item['코드'], page).save_df(item['df'])
78
+ mongo.C104(spider.mongo_client, item['코드'], page).save_df(item['df'])
87
79
  elif spider.name == 'c106':
88
80
  page = ''.join(['c106', item['title']])
89
81
  print(f" code : {item['코드']} / page : {page}")
@@ -178,7 +178,10 @@ def c103(codes: list, mongo_addr: str = ""):
178
178
  :param mongo_addr: 몽고데이터베이스 URI - mongodb://...
179
179
  :return:
180
180
  """
181
- _mp_c1034('c103', codes=codes, mongo_addr=mongo_addr)
181
+ if utils.get_driver() is None:
182
+ print("Fail to get chrome driver...Try again", file=sys.stderr)
183
+ else:
184
+ _mp_c1034('c103', codes=codes, mongo_addr=mongo_addr)
182
185
 
183
186
 
184
187
  @chcwd
@@ -189,7 +192,10 @@ def c104(codes: list, mongo_addr: str = ""):
189
192
  :param mongo_addr: 몽고데이터베이스 URI - mongodb://...
190
193
  :return:
191
194
  """
192
- _mp_c1034('c104', codes=codes, mongo_addr=mongo_addr)
195
+ if utils.get_driver() is None:
196
+ print("Fail to get chrome driver...Try again", file=sys.stderr)
197
+ else:
198
+ _mp_c1034('c104', codes=codes, mongo_addr=mongo_addr)
193
199
 
194
200
 
195
201
  @chcwd
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scraper2_hj3415
3
- Version: 0.1.1
3
+ Version: 0.1.5
4
4
  Summary: Gathering the stock data
5
5
  Project-URL: Homepage, https://pypi.org/project/scraper2_hj3415/
6
6
  Project-URL: Bug Tracker, https://pypi.org/project/scraper2_hj3415/
@@ -10,7 +10,6 @@ Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Operating System :: OS Independent
11
11
  Classifier: Programming Language :: Python :: 3
12
12
  Requires-Python: >=3.7
13
- Requires-Dist: pymongo
14
13
  Requires-Dist: scrapy
15
14
  Requires-Dist: util-hj3415
16
15
  Description-Content-Type: text/markdown
@@ -21,12 +21,12 @@ scraper2_hj3415/miscrapy/mi/spiders/usdidx.py,sha256=TQ0zSxg7xpFiudhsgyjiJ38G3DM
21
21
  scraper2_hj3415/miscrapy/mi/spiders/usdkrw.py,sha256=BmLmOEK4HogPFZ1XOFXB_RhDyAO2vjRVC6a1bNnLbxQ,963
22
22
  scraper2_hj3415/miscrapy/mi/spiders/wti.py,sha256=Yy49k-uzpUBpAu-zXhFLCWp_ZEqWXiIPXtJK3PvQUGQ,1058
23
23
  scraper2_hj3415/nfscrapy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- scraper2_hj3415/nfscrapy/run.py,sha256=Esa1yKB4ZEZ_H6Cq7v7lVC0LuzDnCvrkSEzL89n3fKg,6849
24
+ scraper2_hj3415/nfscrapy/run.py,sha256=VpvFzwoWXzhCjA_2ZPY0VTTkbxjipemz2oQniv1SNGI,7097
25
25
  scraper2_hj3415/nfscrapy/scrapy.cfg,sha256=yCkEgpzAwc9NWjYGaEUelGdLg3mUuuQF1Zl0k5vITH8,260
26
26
  scraper2_hj3415/nfscrapy/nfs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  scraper2_hj3415/nfscrapy/nfs/items.py,sha256=n9xDKoGez8oRmsRLSDjjPhLCXgeJGUsKydjWc_gzgbk,1479
28
28
  scraper2_hj3415/nfscrapy/nfs/middlewares.py,sha256=F3kL0OJMsUhiw2mPIxQLGvY3wdMxIsQl1BG2uwo_ZHo,3745
29
- scraper2_hj3415/nfscrapy/nfs/pipelines.py,sha256=I_co-PfJdUUsvw461s5Kroc1YGCPlEuPOMjptYldzBQ,5264
29
+ scraper2_hj3415/nfscrapy/nfs/pipelines.py,sha256=d1MhW0b3ijAbRkF3aumz7DxZec1qDKaXkC4kOSiWa8w,4844
30
30
  scraper2_hj3415/nfscrapy/nfs/settings.py,sha256=BkOy913N9K8Ypwuj0GiZ0zAI_WnBcjJzwjgnZOS_jqw,3472
31
31
  scraper2_hj3415/nfscrapy/nfs/spiders/__init__.py,sha256=ULwecZkx3_NTphkz7y_qiazBeUoHFnCCWnKSjoDCZj0,161
32
32
  scraper2_hj3415/nfscrapy/nfs/spiders/_c108.py,sha256=gOgWQ7qTOOBEZQTY79K5MWzjmz-ZpFg5wrqBhzLoXjI,4776
@@ -35,8 +35,8 @@ scraper2_hj3415/nfscrapy/nfs/spiders/c103.py,sha256=5E7jZX5UIASCtqGa0eikJVcwlKQs
35
35
  scraper2_hj3415/nfscrapy/nfs/spiders/c104.py,sha256=usz29mBeXiQrv_e7uDf2ZihbENVsafEUHUJw8aHRwlw,7645
36
36
  scraper2_hj3415/nfscrapy/nfs/spiders/c106.py,sha256=cMbpSLqG4EanKzh6rjpFLAnECt_zLR34MTZo34xu6Go,3783
37
37
  scraper2_hj3415/nfscrapy/nfs/spiders/common.py,sha256=QTVWFF386cvoN2czFJQpTeE5jRgnlSE_Z-7y13tPyi8,2876
38
- scraper2_hj3415-0.1.1.dist-info/METADATA,sha256=zKqwM0tDyqMhXFJmUII9lifvGPyzs5MaMxbi4alN1g8,1154
39
- scraper2_hj3415-0.1.1.dist-info/WHEEL,sha256=Fd6mP6ydyRguakwUJ05oBE7fh2IPxgtDN9IwHJ9OqJQ,87
40
- scraper2_hj3415-0.1.1.dist-info/entry_points.txt,sha256=1bGP38AtuY6n2FcP_fLmpqGtFmFf8NLJWsCSWoTjF-0,60
41
- scraper2_hj3415-0.1.1.dist-info/licenses/LICENSE,sha256=6kbiFSfobTZ7beWiKnHpN902HgBx-Jzgcme0SvKqhKY,1091
42
- scraper2_hj3415-0.1.1.dist-info/RECORD,,
38
+ scraper2_hj3415-0.1.5.dist-info/METADATA,sha256=Z66j2xuOhAAsDk4g77kTG9B6fWL5JWpiSHZnFF7EYJo,1131
39
+ scraper2_hj3415-0.1.5.dist-info/WHEEL,sha256=Fd6mP6ydyRguakwUJ05oBE7fh2IPxgtDN9IwHJ9OqJQ,87
40
+ scraper2_hj3415-0.1.5.dist-info/entry_points.txt,sha256=1bGP38AtuY6n2FcP_fLmpqGtFmFf8NLJWsCSWoTjF-0,60
41
+ scraper2_hj3415-0.1.5.dist-info/licenses/LICENSE,sha256=6kbiFSfobTZ7beWiKnHpN902HgBx-Jzgcme0SvKqhKY,1091
42
+ scraper2_hj3415-0.1.5.dist-info/RECORD,,