wisePocket

[Python] 파이썬 크롤링 with BeautifulSoup(bs4) - 2 본문

Python&Flask Tutorials, AWS EB/3rd WEEK Python, Crawling, MongoDB

[Python] 파이썬 크롤링 with BeautifulSoup(bs4) - 2

ohnyong 2023. 7. 4. 23:56

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)

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)

 

3. 텍스트 재가공

 

혹시 텍스트가 내가 원하는 형태가 아닐 경우 가공을 할 수 있다.

text.strip() : 띄워쓰기를 없에줌

text.replace(',', '') :  ,와 공백을 없에줌

 


 

해당 스터디는 아래 깃을 통해 업데이트 되고 있습니다.

https://github.com/yzpocket/Sparta99training

 

GitHub - yzpocket/Sparta99training

Contribute to yzpocket/Sparta99training development by creating an account on GitHub.

github.com