inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

프로젝트: 크롤링 + 엑셀 보고서까지 자동으로 만들며 익히는 프로그래밍2 (업데이트)

크롤링한 데이터에서 다시 크롤링할 때 발생하는 에러

해결된 질문

550

cr7268

작성한 질문수 1

0

안녕하세요!

혼자 해보는데 계속 안돼서 강의를 보고 그대로 코드를 따라 적었는데요, 그래도 계속 오류가 납니다ㅠㅠ 어디가 잘못된걸까요?

웹-크롤링 python

답변 2

1

잔재미코딩 DaveLee

안녕하세요. 우선 일부 상품 정보 태그가 다르게 들어가면서, title['herf'] 가 없는 부분들이 있어서 그렇습니다. 큰 맥락에서는 아직까지는 괜찮고, 코드 연습으로는 좋은 것 같기는 합니다. 추후에 이 사이트도 접고 제가 직접 만든 사이트로 크롤링 코드를 작성해보는 것으로 해야할지도 모르겠네요. 결국 모든 크롤링을 제가 작성한 페이지로 해야하나 고민이 되네요.

우선 제가 접근해가는 방식을 설명드리면, 프로그래밍을 학습하시는데 조금더 도움이 되실 것 같아 다음과 같이 설명을 드립니다.

일단은 에러를 보시면요.

에러에 보시면 res2 = requests.get(new_data) 이 부분이 에러라고 나오고 있고, invalid URL 이라고 나오는 것으로 보여져요.

new_data 가 title['href'] 인데 title['href'] 가 잘못된 값으로 보여요.

그러면 print(title['href']) 로 출력을 해봤고요.

일부 링크값이 안들어가 있는 것을 확인했습니다.

그래서, 저희가 익힌 정규표현식을 써서, title['href'] 가 http:// 로 시작하는 경우만 찾아서, 해당 경우에서만 res2 = requests.get(title['href']) 를 해주었습니다. 다음 코드를 참고해보시면 좋을 것 같습니다. 좋은 참고가 되었으면 좋겠습니다. 감사합니다.

import requests

import re

from bs4 import BeautifulSoup

link_re = re.compile('^http://')

res = requests.get('http://corners.gmarket.co.kr/Bestsellers?viewType=G&groupCode=G07')

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

bestlist = soup.select('div.best-list > ul > li')

for index, product in enumerate(bestlist):

    title = product.select_one('a.itemname')

    price = product.select_one('div.o-price')

    if link_re.match(title['href']):

        res2 = requests.get(title['href'])

0

cr7268

고쳤더니 바로 해결됐어요 자세한 설명 감사합니다!!

크롤링, 영상을 따라해도 제미나에게 물어봐도 안되요

0

33

1

정규표현식 및 여러 코드 꼭 외워야 하나요?

0

39

1

리스트 함수형도 정수 데이터 받을 수 있나요?

0

45

1

크롤링 관련 질문

0

64

1

문제 답이 없는 버전은 없나요?

0

74

1

requests, BeautifulSoup 임포트 부분에 대해 문의드립니다.

0

83

1

업데이트 강의

0

97

2

선생님 강의중에서 sqlite3 강의를 제공한 강의가 있나요?

0

123

2

연습용 예제 파일

0

76

1

lxml 관련 오류

0

106

1

SAVE Request 창 띄우는 법

0

92

1

포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다. 2

0

75

1

포스트맨 사용법이 바뀌어서 강의를 따라가지 못하겠습니다.

0

97

1

예제 2, 4, 6에 대한 풀이 방식 질문.

0

89

1

문제 파일

0

78

1

pdf 파일 내 코드 복붙시 공백

0

291

1

데이터 저장 강좌 문의 건

0

95

1

" " 와 ' '의 차이를 알고 싶습니다

0

243

1

Exercise 22. 문자열 다루기 (strip)

0

132

1

list함수로 리스트 선언하면 실패하는데 이유는 무엇입니까?

0

187

1

셀 삽입후 바로 기입이 가능합니까?

0

139

2

주피터 노트북 마우스 스크롤? 오류

0

1550

2

등호 2개('==')의 의미가 뭐죠?

0

460

2

페이지가 넘어갈 때 url 변하지 않는 경우

0

266

1