• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

category=soup.select()

23.06.17 20:56 작성 조회수 206

0

[참고] 크롤링과 데이터베이스 - 스키마 구현/크롤링 시작 (업데이트) 11:52

category=soup.select()에서 category가 원래는 리스트로 나오는 것으로 이해하고 있었는데 리스트가 아니라 딕셔너리형태로 나오는 이유가 궁금합니다

답변 1

답변을 작성해보세요.

0

안녕하세요. 답변 도우미입니다.

다음 코드와 관련한 문의로 이해가 되는데요. select() 는 리턴값이 리스트가 맞습니다. 다만 각 태그 객체인 category 에서 각 태그의 속성값들을 객체에서 가져올때는 category['href'] 처럼 해주어야 가져올 수 있고요. 이는 select() 와는 관련 없고, BeatifulSoup 을 통해 파싱한 데이터에서 태그 객체가 태그 내의 속성값을 사전 형태로 관리하도록 구현이 되어 있기 때문이라고 보시면 좋을 것 같습니다.

감사합니다.

import requests

from bs4 import BeautifulSoup

res = requests.get('http://corners.gmarket.co.kr/Bestsellers')

soup = BeautifulSoup(res.content, 'html.parser')

categories = soup.select('div.gbest-cate ul.by-group li a')

for category in categories:

    get_category('https://www.gmarket.co.kr' + category['href'], category.get_text())