작성
·
406
0
안녕하세요??
수업을 재미있게 듣고 있습니다.
다름이 아니라 제가 G마켓 - G마켓 베스트 (gmarket.co.kr) 상품을 크롤링을 하고 싶어서 해 보았는데
앞에 5개의 데이터가 href="" 이 없는 데이터가 붙고 있습니다. 이걸 제거할 수 있는 방법은 없나요??
코딩한 내용을 보내 드려 보겠습니다.
==============================================
import requests
from bs4 import BeautifulSoup
res = requests.get('http://corners.gmarket.co.kr/Bestsellers')
soup = BeautifulSoup(res.content, 'html.parser')
data = soup.select('a.itemname')
for item in data:
print (item)
출력한 결과도 같이 보내 드리겠습니다.
=====================================================================
<a class="itemname" href="" id="topPlusItemName0"></a> <a class="itemname" href="" id="topPlusItemName1"></a> <a class="itemname" href="" id="topPlusItemName2"></a> <a class="itemname" href="" id="topPlusItemName3"></a> <a class="itemname" href="" id="topPlusItemName4"></a> <a class="itemname" href="http://item.gmarket.co.kr/Item?goodscode=2304781568&ver=637766761479092506" onclick="pdsClickLog('200000680', 'Item', {'ASN': 1, 'goodsCode': '2304781568'});">[탑텐키즈](신세계경기점)아동) 플리스 셋업 MKB4IP3001</a> <a class="itemname" href="http://item.gmarket.co.kr/Item?goodscode=1890042210&ver=637766761479092506" onclick="pdsClickLog('200000680', 'Item', {'ASN': 2, 'goodsCode': '1890042210'});">[제주삼다수][SSG Fresh][무료배송] 제주 삼다수 2L 24병</a> <a class="itemname" href="http://item.gmarket.co.kr/Item?goodscode=2252407790&ver=637766761479092506" onclick="pdsClickLog('200000680', 'Item', {'ASN': 3, 'goodsCode': '2252407790'});">제주 달콤 조생 타이벡 감귤 9kg 로얄과(S~M)</a> <a class="itemname" href="http://item.gmarket.co.kr/Item?goodscode=2098259811&ver=637766761479092506" onclick="pdsClickLog('200000680', 'Item', {'ASN': 4, 'goodsCode': '2098259811'});">[SSG Fresh]맛있게 매운맛 하남쭈꾸미 500g X 3팩</a> <a class="itemname" href="http://item.gmarket.co.kr/Item?goodscode=2320594813&ver=637766761479092506" onclick="pdsClickLog('200000680', 'Item', {'ASN': 5, 'goodsCode': '2320594813'});">경북 부사사과 가정용 5kg 중대과(14-20과내) 12brix</a> <a class="itemname" href="http://item.gmarket.co.kr/Item?goodscode=2166658347&ver=637766761479092506" onclick="pdsClickLog('200000680', 'Item', {'ASN': 6, 'goodsCode': '2166658347'});">(초등교과 어휘왕) 가로세로 낱말퍼즐 : 초급+중급(전2권) / 2021년 7월 최신간 (출시기념 특가)</a> <a class="itemname" href="http://item.gmarket.co.kr/Item?goodscode=1899284341&ver=637766761479092506" onclick="pdsClickLog('200000680', 'Item', {'ASN': 7, 'goodsCode': '1899284341'});">[잘풀리는집]잘풀리는집 깨끗한3겹 쿠션 소프트 27m 30롤 2팩</a> <a class="itemname" href="http://item.gmarket.co.kr/Item?goodscode=2301439287&ver=637766761479092506" onclick="pdsClickLog('200000680', 'Item', {'ASN': 8, 'goodsCode': '2301439287'});">오롯담나주곰탕700g 12팩</a> <a class="itemname" href="http://item.gmarket.co.kr/Item?goodscode=1894353565&ver=637766761479092506" onclick="pdsClickLog('200000680', 'Item', {'ASN': 9, 'goodsCode': '1894353565'});">[폰타나]즉석수프 60g x4각(12개)</a>
(이하 생략.....)
답변 1
0
안녕하세요. 우선 본 질문/답변은 평생 강의이기 때문에, 강의 영상 이해가 안되서, 다음 진도가 나갈 수 없는 경우에 대해, 답변을 드리는 것인데요. 각자 원하시는 크롤링은 저도 직접 프로그래밍을 작성해봐야 하는 것이라서요. 무리가 있는 부분이라 양해를 부탁드립니다.
가볍게만 말씀드리면, 물론 상위 5개 없이 크롤링이 가능한 방법도 있겠지만, 가장 간단한 방법은 말씀하신 코드로 크롤링을 하신 후에, 해당 크롤링한 데이터가 리스트로 들어오니까요. 리스트 중에 0번부터 4번까지는 빼고, 나머지만 출력해보시거나, 별도 리스트 슬라이싱 기능을 이용해서, 다른 변수에 5번부터 넣어보시는 것은 어떠실까요?
감사합니다.
네.. 알겠습니다, 감사합니다.^^