Blog

[Python]05 웹 크롤링 with BeautifulSoup(bs4) - 2

Author
Summary
BeautifulSoup 라이브러리 설치 및 사용
Category
Study
Tags
Python&Flask
Favorite
Memory Date
2023/07/04
Progress Status
Done
Cross Reference Study
Related Media
Related Thought
Related Lessons
tag
날짜
작성자
진행상황
진행 전
태그구분
5 more properties

History

venv로 파이썬을 연습하고 있는 폴더의 가상 환경 구축을 완료
requests 라이브러리를 사용
BeautifulSoup 라이브러리 설치 및 사용
영화 예매 순위 사이트에서 제목 가져오기 크롤링 연습 완료

Title 말고 다른 요소들도 가져와보자

1. 예매 순위

예매 순위는 rank_num이란 클래스를 사용하고 있다.
제목을 뽑아낼때랑 같다. rank변수에 넣고 print로 뽑아낸다.
# 리스트 중에 반복문으로# li 코드 내용 중에 클래스가 a class="link_txt"로 되어있는 태그부분만 가져오자for li in titles: rank = li.select_one('.rank_num').text title = li.select_one('.link_txt').text # print(title)#그 중에 텍스트만 가져오자 -> 위 변수에서 .text로 추출하는 것으로 변경함print(rank, title)
Python
복사

2. 평점

평점까지 추가해보자. html을 살펴보니 li안에 있는 span중에 txt_grade 클래스를 사용하는 부분이 있다. 가져오면 된다.
for li in titles: rank = li.select_one('.rank_num').text title = li.select_one('.link_txt').text.strip() rate = li.select_one('.txt_grade').text.replace(',','') #혹시 텍스트가 내가 원하는 형태가 아닐 경우 가공을 할 수 있다.#.strip() 을 붙이면 띄워쓰기를 없에줌#.replace(',', '') ,와 공백을 없에줌# print(title)#그 중에 텍스트만 가져오자 -> 위 변수에서 .text로 추출하는 것으로 변경함print(rank, title, rate)
Python
복사

3. 텍스트 재가공

혹시 텍스트가 내가 원하는 형태가 아닐 경우 가공을 할 수 있다.
text.strip() : 띄워쓰기를 없에줌
text.replace(',', '') :  ,와 공백을 없에줌