Que)
— python Beautifulsoup을 활용하여 웹크롤링
— style 속성 값을 가져오려고 한다.
— style 속성 값을 딕셔너리로 변환한 후 key값이 ‘left’인 value 값을 추출
Final Code
from bs4 import BeautifulSoup
# 예시 HTML 코드
html = """
<div style="position:absolute; top:50px; left:100px; color:red;">Hello World</div>
"""
# HTML 파싱
soup = BeautifulSoup(html, 'html.parser')
# style 속성값 가져오기
style = soup.find('div')['style']
# style 속성값을 딕셔너리 형태로 변환
keys = []
values = []
style_split = style.split("; ")
print(style_split)
for i in range(0,len(style_split)-1):
pair = style_split[i].split(":")
keys.append(pair[0])
values.append(pair[1])
print(keys)
print(values)
style_dict = dict(zip(keys,values))
print(style_dict)
# left 속성값 가져오기
left_value = style_dict['left']
# 결과 출력
print(left_value) # 100px
style 속성 값을 딕셔너리 형태로 변환
ex)
style = 'position:absolute; top:50px; left:100px; color:red;'
결과
{'position': 'absolute', 'top': '50px', 'left': '100px'}
1. 문자열로부터 key, value 리스트 형태로 분리
style = 'position:absolute; top:50px; left:100px; color:red;'
style_split = style.split('; ') # 공백제거를 위해 '; '으로 split 진행 (list형에서는 strip()함수가 적용 x)
keys = []
values = []
for i in range(0,len(style_split)-1):
pair = style_split[i].split(':') # list형
keys.append(pair[0])
values.append(pair[1])
print(keys)
print(values)
['position', ' top', ' left', ' color'] ['absolute', '50px', '100px', 'red']
2. zip() 내장함수를 활용하여 딕셔너리 형태로 변환
style_dict = dict(zip(keys,values))
print(style_dict)
{'position': 'absolute', ' top': '50px', ' left': '100px', ' color': 'red'}
3. key가 ‘left’인 value값 출력
print(style_dict['left'])
100px
'Python' 카테고리의 다른 글
Excel 잠겨 있는 파일을 DataFrame으로 열기 (1) | 2024.11.08 |
---|---|
[seaborn] Anaconda 'seaborn' 설치 오류 해결 (0) | 2022.06.02 |