반응형
문제상황
공차 매장명, 주소를 추출하고 싶다.
해결방법
공차 사이트의 매장찾기 메뉴에서
매장명, 주소 정보가 있는 컨테이너를 선택한다.
이후 우클릭 > copy > copy element
복사한 것을 vscode 등에 붙여넣기
아래 html = "" 부분에 넣는다.
필자는 매장명을 '매장명'이라는 열로, 주소는 '주소'라는 열로 df 를 만들려고 한다.
from bs4 import BeautifulSoup
import pandas as pd
# HTML 코드
html = """
<ul>
<li class="on">
<a href="javascript:;" store="55837">
<span class="store new">부산공항덕두점</span>
<span class="address">부산광역시 강서구 공항로811번가길 7, 1층(대저2동)</span>
</a>
</li>
<li>
<a href="javascript:;" store="55765">
<span class="store new">서귀포신시가지점</span>
<span class="address">제주특별자치도 서귀포시 신서로 52번길 24, 1층(강정동)</span>
</a>
</li>
<!-- 추가적인 항목들 -->
</ul>
"""
# BeautifulSoup을 사용하여 HTML 파싱
soup = BeautifulSoup(html, 'html.parser')
# 매장명과 주소를 저장할 리스트
stores = []
addresses = []
# 매장명과 주소 추출
for li in soup.find_all('li'):
store = li.find('span', class_='store')
address = li.find('span', class_='address')
if store and address:
stores.append(store.get_text())
addresses.append(address.get_text())
# 데이터프레임 생성
df = pd.DataFrame({
'매장명': stores,
'주소': addresses
})
# 데이터프레임 출력
print(df)
반복문을 보면
class가 store인 것은 store 변수로, class가 address인 것은 address 변수로 저장한다.
이후 이를 반복하여 df로 넣는 방식
잘 추출되었다.
반응형
'🖥️ IT, 컴퓨터 > 🐍 Python' 카테고리의 다른 글
[Python] BeautifulSoup 라이브러리란? :: html 파싱, Selenium과의 차이 (0) | 2024.11.20 |
---|---|
[Python] Selenium 라이브러리란? :: 크롤링, 웹스크래핑 (0) | 2024.11.20 |
[Python] geopandas이용하여 shp파일 단순화하기 :: simplify (0) | 2024.11.13 |
[Python] 전국 올리브영 매장 크롤링 :: 매장명, 매장주소 beautifulsoup (2) | 2024.11.07 |
[Python] 파이썬 코드로 PPT 자동으로 만들기 (0) | 2024.11.04 |
댓글