카카오맵 데이터 크롤링 수정🎡 : 프로젝트의 진행 방향이 변경되어 크롤링 코드를 조금 수정하였다!
장고 백엔드 수정💻 : 수정된 계획에 맞게 CRUD 코드를 수정하였다!
https://github.com/ksykma/DRF_Jeju_list_project/tree/main
git 저장소 주소 repository 변경법!!
git 저장소 주소를 변경해야 할 일이 있어 검색해보았다!
git remote set-url origin [새로운 repo 주소]
git remote remove origin
git remote add origin [새로운 repo 주소]
django.db.utils.IntegrityError: NOT NULL constraint failed
null값이 들어갈 수 없는 곳에 값을 넣지 않아 생기는 오류라고 한다!!
models.py에서 값이 들어가지 않아도 되도록 null=True를 넣어줬더니 오류가 사라졌다!!
null=True 는 필드의 값이 NULL(정보없음)로 저장되는 것을 허용!
blank=True는 필드의 값이 빈 채로 저장되는 것을 허용!(빈칸도 가능)
하지만 CharFields()와 TextFields()에서는 예외적으로 Null을 저장하지 않고 빈 값을 빈문자열('')로 저장한다!!
https://codermun-log.tistory.com/154
TypeError: sequence item X: expected str instance, int found
join함수를 사용하면서 발생한 오류인데 x번째 item에 str instance가 존재한다고 생각했지만 int값이 나왔다고 알려주는 것이다!!(join을 할 때에는 str형태이어야 하니까!)
오류가 난 값을 str형태로 변경해주니 오류가 사라졌다!!
.join(map(str, 리스트이름)) 하면 리스트 안의 인덱스들이 모두 str형태로 변경되며 join된다!!
.join(map(str, 리스트이름))
Passthrough is not supported, GL is disabled
크롤링할 때 나는 오류인데 아래와 같이 코드를 추가해주어야 한다!!
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument("--single-process")
chrome_options.add_argument("--disable-dev-shm-usage")
Can't create base directory: C:\Program Files\Google\GoogleUpdater
디렉토리를 만들지 못해 생기는 오류라고 해서 디렉토리를 직접 생성해 주었더니 오류가 해결되었다!!
NoSuchElementException
element가 없는것에 대한 크롤링에 대해 exception을 설정해주지 않아 생기는 오류이다!! try&except문을 추가해주었더니 해결되었다!!
try:
review_info['address'] = driver.find_element(By.CLASS_NAME,"details_placeinfo").find_element(By.CLASS_NAME,"placeinfo_default").find_element(By.CLASS_NAME,"txt_address").text
except NoSuchElementException:
continue
TypeError:'type'object is not iterable
settings.py의 REST_FRAMEWORK튜플이 정상적으로 입력되지 않았기 때문에 일어나는 오류이다!!