본문 바로가기
Python notes/Others

파이썬 크롤러) 데이터 파싱 후 쓸데없는 태그 지우기 (re.sub, 태그 제거)

by 성실한 나무 2018. 12. 13.

Beautiful Soup을 통해 html.parser로 파싱한 값들을 얻었다 !

 

soup=BeautifulSoup(html, 'html.parser')

prd_names=soup.find_all('td', class_='ProdName')

 

td class가 ProdName으로 된 제품명들을 모두 찾아내기 위한 코드이다.

그 결과 여러 제품명들이 하기와 같이 파싱되었다.

 

<td class="ProdName"><a href="cosmetic_7674408404.html"><span class="Keyword2">KIEHL</span>'S Midnight Recovery Oil</a></td>, <td class="ProdName"><a href="cosmetic_472c408362.html"><span class="Keyword2">KIEHL</span>'S midnight recovery concentrate</a></td>....

 

문제는, 내가 필요한 건 제품명들이었는데 속성 태그들까지 같이 딸려서 긁혔다.

이를 위해 태그를 제거하면 된다고 하여 방법을 찾아보았다.

 

반응형

 

prd_names=str(soup.find_all('td', class_='ProdName'))

prd_names=re.sub('<.+?>', '', prd_names, 0).strip()

 

일단 prd_names 자체를 str()으로 속성 변경?을 해주고,

해당 string에서 태그가 제거될 수 있도록 re.sub('<.+?>', '', prd_names, 0).strip()으로 했더니,

 

 

>>> prd_names

"[KIEHL'S Midnight Recovery Oil, KIEHL'S midnight recovery concentrate, KIEHL'S midnight recovery concentrate oil, KIEHL'S herbal-infused micellar ceansing water, KIEHL'S Midnight Recovery Botanical Cleansing Oil, KIEHL'S Facial Fuel SPF 20, KIEHL'S Rare Earth Deep Pore Cleansing Masque, KIEHL'S Clearly Corrective Dark Spot Solution, KIEHL'S Calendula Herbal-Extract Toner Alcohol Free, KIEHL'S Calendula Herbal Extract Alcohol-Free Toner, KIEHL'S Clearly corrective dark spot solution, KIEHL'S Ultra Facial Cream, KIEHL'S Mom &amp; Baby Nurturing Body Oil, KIEHL'S Glow Formula Skin Hydrator, KIEHL'S Ginger Leaf &amp; Hibiscus Firming Mask, KIEHL'S Clearly Corrective Dark Spot Solution, KIEHL'S Hydro-plumping serum, KIEHL'S Ultra facial cleanser, KIEHL'S double strength deep wrinkle filler, KIEHL'S Dermatologist Solutions Centella Sensitive Facial Cleanser]"

 

prd_names의 값이 상기와 같이 깔끔하게 정리되었음.

 

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

댓글