tjsdud
2022.08.02
@tjsdud님이 새 포스트를 작성했습니다.
A. BeautifulSoup 활용하기
1.정렬 방식에 따른 URL 패턴 파악 판매 인기 순 : https://browse.gmarket.co.kr/search?keyword=%eb%a7%88%ec%8a%a4%ed%81%ac&s=8 낮은 가격 순 : https://browse.gmarket.co.kr/search?keyword=%eb%a7%88%ec%8a%a4%ed%81%ac&s=1 높은 가격 순: https://browse.gmarket.co.kr/search?keyword=%eb%a7%88%ec%8a%a4%ed%81%ac&s=2 즉, URL의 https://browse.gmarket.co.kr/search?keyword=%eb%a7%88%ec%8a%a4%ed%81%ac&s=? ?에 숫자 부분이 바뀌고 있습니다 2.별점에 대한 태그와 선택자 <div class="box_information-score"> 태그로 되어있고, 그 안에 <ul class="list_score">가 있습니다 2번 문제에 해당 별점 모양 태그는 <li class="list-item list-item_awards"> 태그 입니다!
tjsdud
2022.07.30
@tjsdud님이 새 포스트를 작성했습니다.
A. 멜론 차트 순위 크롤링
import requests from bs4 import BeautifulSoup header = {'User-Agent':'Mozila/5.0 (Winodws NT 6.3; Trident/7.0; rv:11.0) like Gecko'} URL = 'https://www.melon.com/chart/index.htm' response = requests.get(URL,headers=header) # 홈페이지에서 html 가져오기 html = response.text #문자열을 html로 변환 soup = BeautifulSoup(html, 'html.parser') #html.parser를 사용해서 soup에 넣겠다 title = soup.find_all("div",{"class":"ellipsis rank01"}) #노래 제목 singer = soup.find_all("div",{"class":"ellipsis rank02"}) #가수 title_list = [] singer_list = [] for i in title:     title_list.append(i.find('a').text) for j in singer:     singer_list.append(j.find('a').text) rank = 50 for r in range(rank):     print("%2d위 : %s - %s"%(r+1, title_list[r], singer_list[r])) 참고 자료 : https://gconf.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%A9%9C%EB%A1%A0%EC%B0%A8%ED%8A%B8-%EC%9B%B9%ED%81%AC%EB%A1%A4%EB%A7%81-1-50%EC%9C%84 처음이라 잘 이해가 안 돼서 구글링으로 관련 코드 참고했습니당 처음에는 되게 어려울거라 생각했는데 막상 해보니 생각보다 간단한 것 같아요! 나중에 동적 크롤링은 어떨지...ㅎ