test1은 그래도 마무리는 했는데 2는 ....
다시 열심히 해야겠다는 다짐하게 된다.
html=driver.page_source # 현재 내가 셀레니움으로 접근한 페이지 소스를 html에 저장
dom=Beautifulsoup(html,'html.parser') #파싱
beautifulsoup 사용하기 위해서 seoul_list=dom.select로 다시 리스트 가져오기
seoul_list[0]에 내가 원하는 정보 들어가 있음
내가 쓴 코드 : seoul_list[0].text.split()[0] -> '역삼아레나빌딩'
더 간편하게 : seoul_list[0]['data-name']
<li class="quickResultLstCon" data-code="3762" data-hlytag="null" data-index="0" data-lat="37.501087" data-long="127.043069" data-name="역삼아레나빌딩" data-storecd="1509" style="background:#fff"> <strong data-my_siren_order_store_yn="N" data-name="역삼아레나빌딩" data-store="1509" data-yn="N">역삼아레나빌딩 </strong> <p class="result_details">서울특별시 강남구 언주로 425 (역삼동)<br/>1522-3232</p> <i class="pin_general">리저브 매장 2번</i></li>
seoul_list[0]['data-name']로 가져올 수 있었던 이유
: li 태그 안에 존재했기 때문에
<p class="result_details">서울특별시 강남구 언주로 425 (역삼동)<br/>1522-3232</p> <i class="pin_general">리저브 매장 2번</i></li>
address는 p태그에 존재하기 때문에 같은 형식으로 가져올 수 x
내가 쓴 코드 : address=seoul_list[0].text.split()[1:5]
-> 문제점 : ['서울특별시', '강남구', '언주로', '425']
간결한 코드 : seoul_list[0].select_one('p').text[:-9] # 뒤에 전화번호 제거
내가 쓴 코드 : address=contents[0].text[5:]
문제점 : 우연하게 다 매장명이 5글자였음 / 8글자면 망함..
간결한 코드 : contents[0].select_one('dd') # 태그 이용해서 추출하기
-> <dd>서울 중랑구 망우로 460 (망우동)</dd>
-> 텍스트만 추출하고 싶음
내가 쓴 코드 : contents[3].select_one('dt').replace('<dt>','').replace('</dt>','')
오류남
간결한 코드 : contents[0].select_one('dd').text
cafe_df=pd.concat([std_df,ediya_df],axis=0)
>
인덱스 reset
cafe_df.reset_index(inplace=True)
>
인덱스 하나 더 생성됨 -> 삭제해줌
del cafe_df['index']