이제 데이터 공부 안하는 블로그

[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 23회차 미션 본문

파이썬

[패스트캠퍼스 수강 후기] 파이썬 인강 100% 환급 챌린지 23회차 미션

공사노비 2020. 11. 24. 22:19

 



23일차 수업입니다.

지난 번에 이어서Beautifulsoup 를 활용해서 웹페이지를 스크래핑해오는 수업을 들었습니다. 

지난 번에는 쿠팡 홈페이지에서 한 페이지 안에 제품명, 가격, 평점, 리뷰수를 가져오는 작업을 했고,

광고 중인 상품 등 내가 필요 없는 특정 상품을 제외하고 스크래핑하는 방법,

리뷰 200개 이상, 평점 4.5 이상의 제품 등 내가 원하는 특정한 제품만 스크래핑하는 방법도 배웠습니다.

 

오늘은 여러 페이지를 스크래핑 하는 방법과 링크를

스크래핑해서 출력값으로 나온 링크를 누르면 바로 그 링크로 연결되도록 하는 것을 배웠습니다. (링크를 출력한다는 뜻 ^ㅠ^)

 

여러 페이지를 스크래핑하는 방법

 

반복문 for 와 range를 사용해서 1부터 5까지 숫자가 반복되게 만들어줍니다. 

for i in range(1,6):

 

기존에 작성해두었던 url 주소에서 Page 정보를 찾습니다.

url = "https://www.coupang.com/np/searchq=%EC%BB%A4%ED%94%BC%EC%9B%90%EB%91%90&channel=user&component=&eventCategory=SRP&trcid=&traid=&sorter=scoreDesc&minPrice=&maxPrice=&priceRange=&filterType=&listSize=36&filter=&isPriceRange=false&brand=&offerCondition=&rating=0&page=1&rocketAll=false&searchIndexingToken=1=4&backgroundColor="

첫번째 페이지의 url주소를 복붙한 것이기 때문에 page=1 이라고 되어있습니다. 그 부분을 page={)로 바꿔줍니다. 그리고 뒤에 .format(i)을 입력하여 위에 만들어 놓은 i 정보가 들어가도록 만들어 줍니다.

 

url = "https://www.coupang.com/np/searchq=%EC%BB%A4%ED%94%BC%EC%9B%90%EB%91%90&channel=user&component=&eventCategory=SRP&trcid=&traid=&sorter=scoreDesc&minPrice=&maxPrice=&priceRange=&filterType=&listSize=36&filter=&isPriceRange=false&brand=&offerCondition=&rating=0&page{}&rocketAll=false&searchIndexingToken=1=4&backgroundColor=".format(i)

쩌 멀리 위의 url을 바로 위와 같이 바꿔줍니다. 

 

이제 출력값을 확인해보면 첫번째 페이지부터 다섯번째 페이지까지의 상품을 모두 스크래핑해오는 것을 확인할 수 있습니다.

 

링크를 스크래핑 하는 방법

쿠팡 홈페이지에서 상품명, 가격, 리뷰수, 평점 등을 스크래핑 해올 때와 마찬가지로 크롬 개발자도구를 이용하여 다음과 같이 써줍니다.

 

link = item.find("a", attrs={"class":"search-product-link"})["href"

item 객체 내에서 class 값이 search-product-link인 엘리먼트를 가져오게 합니다. 그리고 뒤에 href 를 추가합니다.

 

print("{}" .format("{}".format("www.coupang.com" + link)

출력할 때는 위와 같이 link 앞에 "www.coupang.com" 을 추가하여 출력값이 www.coupang.com/어쩌구저쩌구상품페이지  로 출력되도록 합니다. 그러면 출력값을 클릭하면 바로 상품페이지로 갈 수 있습니다.

 

 


오늘은 얼그레이 컵케익을 만들어 먹으며 수업을 들었습니다. 🐷🐷🐷

 

강의소개 https://bit.ly/33a7nvc