본문 바로가기

에러

[웹크롤링] 쿠팡 사이트 크롤링 - 오류 없이 접속하는 방법 (requests 사용) selenium, 크롬 드라이버를 이용해서 쿠팡 사이트에 접속하는 방법은 쉬운데요, 이번 글에서는 requests 라이브러리를 이용하여 쿠팡 사이트에 접속하는 방법에 대해 알아보도록 하겠습니다. 먼저, 기본적으로 원하는 페이지에 접속하는 코드는 다음과 같습니다. from bs4 import BeautifulSoup import requests url = "https://www.coupang.com/" resp = requests.get(url) print(resp) 보통 url에 해당 주소를 입력하고 requests.get(url)로 접속한 뒤 반환된 값을 출력하면 Response [200] 이 출력되어야 하는데요, 위 코드와 같이 쿠팡 주소를 입력한 뒤 접속을 하면 반환값이 출력되지 않고 무한로딩이 됩.. 더보기
[웹크롤링] Response [406] : 에러 발생 이유 & 해결 방법 - 헤더값 설정 1. Response [406] : 에러 발생 이유 웹 크롤링을 할 때, 처음 코드에 url을 입력하고, requests.get(url) 함수를 통해 정상적으로 접속이 되는지 확인을 하는데요, 정상적으로 접속이 되었다면 Response [200] 이라는 코드가 출력됩니다. 아래 코드는 예시로 네이버 홈페이지에 접속하는 코드인데요, from bs4 import BeautifulSoup import requests url = "https://www.naver.com" resp = requests.get(url) print(resp) #output : requests.get() 함수에 url을 입력하고, 반환된 값을 출력해보면 Response [200] 으로 정상적으로 접속이 된 것을 확인할 수 있습니다. 하.. 더보기
[웹크롤링] 에러가 나는 경우 try / except 문으로 해결하기 웹 페이지를 크롤링할 때, 예를 들어, 텍스트를 추출하는데, 특정 부분에 텍스트가 없다면 에러가 날 수 있습니다. 또는 이미지를 크롤링하기 위해 이미지의 url을 크롤링하는데, 만약 url이 없는 이미지라면 에러가 날 수 있습니다. 이러한 경우 모두 try / except 문으로 코드를 작성하면 해결할 수 있는데요, try 문은 실행 코드를 입력하고 에러가 발생했을 때 멈추지 않고 다른 코드를 수행하도록 할 수 있습니다. 사용방법은 다음과 같습니다. try : 에러가 날 수 있는 코드 except 에러이름 : 에러 발생 시 명령할 코드 else : 에러가 발생하지 않을 때 실행할 코드 한편, 위 코드에서, 에러 이름을 공백으로 두면, 모든 에러에 대해 처리됩니다. 그렇다면, 코드로 어떻게 작성해야 하는지.. 더보기
[파이썬] NameError: name 'os' is not defined 에러 발생 이유 & 해결방법 쥬피터노트북에서 파이썬 코드를 입력하다 보면, NameError: name 'ㅇㅇ' is not defined 이라는 에러를 자주 볼 수 있는데요, 이 에러는 해당 라이브러리 또는 모듈이 import 되지 않았을 때 발생하는 에러입니다. 따라서 만약 NameError: name 'os' is not defined 라는 에러가 발생되었다면 'os' 라는 라이브러리가 설치되지 않았다는 뜻입니다. 한 번 os 라이브러리를 설치하지 않고, os모듈을 사용해보도록 하겠습니다. os.getcwd() NameError Traceback (most recent call last) in ----> 1 os.getcwd() NameError: name 'os' is not defined 출력된 결과를 보면, 'os' 로 .. 더보기
[파이썬] TypeError: 'str' object cannot be interpreted as an integer 에러 발생 이유 및 해결 방법은? TypeError: 'str' object cannot be interpreted as an integer라는 에러가 발생했다면 사용한 데이터의 타입을 한 번 확인해보는 게 좋은데요, 에러 내용에서 알 수 있듯이, 문자열 데이터를 정수형처럼 사용했을 때 나타나는 오류입니다. 예를 들어, '3' 이라는 변수가 있고, 이를 정수형 타입으로 여겨 연산을 하도록 실행했는데, '3'이 정수형(integer) 데이터가 아닌 문자열(str) 데이터였다면 위와 같은 에러가 발생하게 되는 것입니다. 따라서 만약 TypeError: 'str' object cannot be interpreted as an integer 에러가 발생했다면, 정수형 데이터라고 생각했던 데이터가 문자열 데이터는 아닌지 타입을 확인해보시기 바랍니.. 더보기
[파이썬] SyntaxError: invalid syntax 에러 발생 이유 및 해결방법은? 파이썬으로 코딩을 하면서 가장 많이 보는 에러 중 하나가 바로 SyntaxError: invalid syntax 일 수 있습니다. 이 에러가 나는 데에는 다양한 이유가 있을 수 있지만 그중 주된 이유 중 하나는 바로 ' : '를 작성하지 않았을 때 입니다. 보통 for문이나 if문, while문, try문, 함수 등을 만들 때 뒷부분에 ' : '를 반드시 써줘야 하는데요, 만약 이를 입력하지 않고 코드를 실행하면 SyntaxError가 난답니다. 한 번 for문에 ' : '를 입력하지 않고 실행해보도록 하겠습니다. for i in range(5) print(i) File "", line 1 for i in range(5) ^ SyntaxError: invalid syntax for문에 ' : '를 입력하.. 더보기
[파이썬] IndexError: list index out of range 에러 해결 방법은? 파이썬에서 코딩을 하다 보면 IndexError: list index out of range와 같은 에러가 발생하기도 하는데요, 어떠한 경우에 나는 에러일까요? 에러 내용을 보면, 인덱스에러 : 범위를 벗어난 리스트 인덱스라고 되어 있습니다. 즉, 리스트 안에 데이터 수가 부족하다면 발생하는 에러입니다. 예를 들어, 5개의 데이터를 가지고 있는 리스트에서 for문을 이용하여 데이터를 하나씩 출력할 때, for문을 5번 돌리면 되지만 만약 6번 이상 돌려서 6번째 데이터를 출력할 때 IndexError 가 발생한답니다. 이를 한 번 실행해보겠습니다. list1 = [1, 2, 3, 4, 5] for i in range(6) : print(list1) 1 2 3 4 5 IndexError: list inde.. 더보기
[파이썬] IndentationError: unexpected indent , IndentationError: expected an indented block - 무슨 에러인가요? / 해결 방법 파이썬 코딩을 하다 보면 가끔 IndentationError: unexpected indent 또는 IndentationError: expected an indented block 라는 에러가 나올 수 있는데요, 바로 들여쓰기 또는 내어쓰기에서 문제가 발생했다는 것입니다. 한 번 들여쓰기를 하지 않고 코드를 실행해보겠습니다. text1 = "안녕하세요!" for i in text1 : print(i) IndentationError: expected an indented block 올바르게 실행하기 위해선 print(i) 부분을 들여쓰기 해야 하지만 들여쓰기를 하지 않았더니 위와 같이 출력되었습니다. 만약 print(i) 코드를 들여쓰기해서 재실행하면, 에러가 뜨지 않는 것을 확인할 수 있습니다. 반면, .. 더보기