본문 바로가기
프로그램ing/Python

[3] STARBUCKS 매장 조회 크롤링 [무작정 따라하기 1]

by 철밥통 2022. 8. 3.
반응형

[3] STARBUCKS 매장 조회 크롤링 [무작정 따라하기 1]

스타벅스 매장조회 프로그램의 실행화면입니다. 

 

 

STEP 1 아래의 코드를 복사하여 PyCharm 에 붙여넣어주세요.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import datetime
import requests
 
print('──────────────────────────────────────────────────────────────')
print('★★★★★★★★STARBUCKS 매장조회 프로그램★★★★★★★★')
print('──────────────────────────────────────────────────────────────')
 
while True:
    targetSite1 = 'https://www.starbucks.co.kr/store/getSidoList.do'    # 매장 조회에 필요한 시/도 정보를 요청하는 경로
    request = requests.post(targetSite1)                                # 해당 경로를 호출하여 정보를 요청
    sido_list = request.json()                                          # 전달받은 json 값을 List에 저장
    print('00 : 전체')
    for sido in sido_list['list']:
        print(sido['sido_cd'+ ' : ' + sido['sido_nm'])
 
    sido_cd = input('시/도 코드를 입력해주세요 : ')
 
    if sido_cd == '00':
        sido_cd = ''
        gugun_cd = ''
    else:
        targetSite2 = 'https://www.starbucks.co.kr/store/getGugunList.do'
        request = requests.post(targetSite2, data={
            'sido_cd': sido_cd
        })
 
        gugun_list = request.json()
 
        gugunList = {}
        print('00 : 전체')
        for gugun in gugun_list['list']:
            gugunList[gugun['gugun_cd']] = gugun['gugun_nm']
            if gugun['gugun_nm'is None:
                pass
            else:
                print(gugun['gugun_cd'+ ' : ' + gugun['gugun_nm'])
 
        gugun_cd = input('구/군을 입력해주세요 : ')
 
    if gugun_cd == '00':
        gugun_cd = ''
 
    targetSite3 = 'https://www.starbucks.co.kr/store/getStore.do?r=006KL3QESV'
    request = requests.post(targetSite3, data={
        'p_sido_cd': sido_cd,
        'p_gugun_cd': gugun_cd,
        'ins_lat''',
        'ins_lng''',
        'in_biz_cd''',
        'iend'3000,
        'set_date'''
    })
 
    store_list = request.json()
    dt_datetime = datetime.datetime.now()
    fformat = "%Y%m%d%H%M%S"
    str_today = datetime.datetime.strftime(dt_datetime, fformat)
 
    f = open('starbucks_'+str_today+'.txt''w')
 
    count = 0
    f.write('순번'+'\t'+'지점명'+'\t'+'도로명주소'+'\t'+'위도/경도'+'\n')
    for store in store_list['list']:
        count += 1
        f.write('{0:4d} {1} {2} ({3}, {4})'.format(count, '\t'+store['s_name']+'\t',
                                                   store['doro_address']+'\t', store['lat'], store['lot'])+'\n')
 
    f.close()
 
    print('\n 조회 및 텍스트파일 생성이 완료되었습니다. \n ')
 
    # 종료 확인
    requ = int(input('>>> 프로그램 종료 : 1, 계속 : 2 입력해 주세요 : '))
    print('\n')
    if requ == 2:
        continue
    else:
        break
 
cs

STEP2 상단 메뉴의 실행 > 실행을 클릭하여 코드를 실행합니다.

코드를 실행하면 requests 모듈이 없어 실행할 수 없다는 에러 메세지가 나타납니다.

requests에 커서를 올려두고 Alt + Enter를 입력하면 위의 이밎와 같이 메뉴가 나타나고 패키지 request 설치를 클릭합니다.

설치가 완료되면 위 이미지와 같이 설치완료 안내 메세지가 우측 하단에서 팝업됩니다.

다시한번 상단 메뉴의 실행 > 실행을 진행하면 아래의 콘솔 화면에서 실행되는 것을 볼 수 있습니다.

 

[1] Python 및 Python 편집기 설치 (tistory.com)

[2] PyCharm 프로젝트 생성 - Hello, PyCharm!! (tistory.com)

[3] STARBUCKS 매장 조회 크롤링 [무작정 따라하기 1] (tistory.com)

[4] STARBUCKS 매장 조회 크롤링 [무작정 따라하기 2] (tistory.com)

[5] 이마트(E-Mart) 매장 조회 크롤링 [무작정 따라하기 3] (tistory.com)

[6] 이마트(E-Mart) 매장 조회 크롤링 - 웹페이지 분석[무작정 따라하기 4] (tistory.com)

 

반응형

댓글