묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
중복값제거 , drop_duplicates 옵션값문의
해당 코드중, keep 의 옵션값이 last 입니다 first 를 하지 않고 last 를 써야만하는건지, last를 쓴 이유가 궁금합니다
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
설명해 주신곳이 위치가 잘 이해가 안가 못찾고 있습니다.
아래 글에 답변해주신걸 잘 이해를 못했습니다. => ' ' 을 '${Date.now()}_${file.originalname}' 으로 바꾸어 보란게 혹시 poduct.js 에 upload 쪽을 말해주신건가요? 업로드는 성공하되 console.log 가 다른걸 보니 filename 같은게 다르게 뜨는걸 보아 과젖ㅇ중 실수 나 뭔가 있었을 거다는건 예상이 되는데 아래와 같이 되있는걸 아래 두가지를 다 해봤는데 에러가 나서요 죄송한데 다시한번 설명해주실수 있을까요 router.post('/image', (req, res) => '${Date.now()}_${file.originalname}' upload(req, res, err => '${Date.now()}_${file.originalname}'
-
미해결실전! 스프링 데이터 JPA
repository service
김영한 개발자님 좋은 강의 감사드립니다. 유익한 강의를 따라 스프링 데이터 Jpa를 공부하니 호기심에 이것저것 궁금한게 생기네요. 초보 개발자인 저는 JpaRepository<T, ID>를 활용하면서 설계패턴에 대한 고민을 시작했습니다. 설계패턴을 이론으로 배울때는 별 생각없었는데, 코딩하면서 적용해보니깐 설계하기 애매한게 많더군요. 굉장히 흥미롭고, 그래서 선배 개발자님의 경험이 듣고 싶습니다. 1. JpaRepository는 T에 들어가는 하나의 테이블을 위해서 공통 인터페이스들을 제공해주고 있잖아요. 그렇다면 여러개의 테이블을 위해서는 일일이 JpaRepository를 따로 만들어줘야 할텐데요. 강의에서는 주로 하나의 테이블만을 이용해서 쿼리를 날렸기에, 하나의 JpaRepository로 충분했는데요. 테이블이 한두개면 모르겠는데 테이블 숫자가 많아지면 그에 맞춰 repository 숫자도 계속 늘려줘야 하는건가요? 가령 수백개의 테이블이 있을 경우에도 일일이 repository를 따로 만들어주는 건가요? 2. 테이블당 하나씩 repository를 만든다면, join 쿼리처럼 여러 테이블을 동시에 참조하는 쿼리는 어떤 테이블을 위한 repository에 작성해야할지 모르겠습니다. 예를들어 : '주문자'와 '상품'을 n:n 관계로 잇는 '주문' 테이블을 조회한다고 가정해볼경우. 제가 주문한 상품에 대한 상세정보를 가져오려고 쿼리를 짜면 다음과 같을 것입니다. select (상품명, 상품가격, 유통기한) from '주문' join '상품' on '주문'.상품id = '상품'.id where '주문'.사용자id = 'qwer1234' 그렇다면 이 쿼리를 '주문자repository'에서 작성해야할지, '상품repository'에서 작성해야할지, '주문repository'에서 작성해야할지 모르겠습니다. 테이블 단위로 repository를 만든다면, 여러 테이블을 넘나들며 query를 날리는 비즈니스 로직이 있을경우, 어떤 테이블을 위한 repository에서 그 쿼리를 작성해줘야 할까요? join 쿼리만을 위한 repository를 따로 만들어줄까도 생각해봤고, service 측에서 작성해줄까도 생각을 해봤는데요. service 측에서 작성해주는 것은 service랑 repository를 분리하는 것이 퇴색되는 것 같습니다. join을 위한 repository를 따로 만드는 것은 개발하다 구조적인 문제가 생길지 않생길지 몰라서 확신이 안섭니다. 물론 위에 대한 답변들은 프로젝트의 규모나 비즈니스 로직에 따라서 어떻게 분리할지, 통합할지 얘기가 달라지겠지만, 김영한 개발자님은 실무에서 어떻게 균형있게 분리하셨는지 경험을 듣고 싶습니다. 감사합니다.
-
미해결iOS AutoLayout 완벽 가이드 - 실무 프로젝트를 위한 실전강의
Chat_6 키보드 올라갈때 테이블 스크롤 이동 이슈
어느정도 채팅을 치고 키보드를 내렸다 다시 올릴경우 그땐 어떻게 테이블 스크롤이 마지막 채팅을 향하게 하나요??
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
자꾸 질문드려 죄송합니다 . 컬럼인덱스 이해가 안가네요..
프로그램이 처음이라서 그런지 모든게 의문투성입니다. 어느덧 40이 넘은 나이지만, 퇴근후에 회사에 남아서, 어려워도 포기하지 않고 몇번씩 돌려가며 연습하고있습니다. 그래도 이해가 가지 않아 질문드려요 import json import pandas as pd with open('COVID-19-master/csse_covid_19_data/country_convert.json', 'r', encoding = 'utf-8-sig') as json_file: jons_data = json.load(json_file) def country_name_convert(row): if row['Country_Region'] in json_data: return json_data[row['Country_Region']] return row['Country_Region'] def creat_dateframe(filename): doc = pd.read_csv('PATH + filename', encoding= 'utf-8-sig') try: # 읽었는데 읽은 파일의 컬럼인덱스가 우리가 원하는 컬럼네임인지 확인해야돼, 아니면 바꿔줘야해서 try doc = doc[['Country_Region', 'Confirmed']] except: doc = doc[['Country/Region', 'Confirmed']] doc.columns = ['Country_Region', 'Confirmed'] doc = doc.dropna(subset = ['Confirmed']) # 특정컬럼의 값이 없는 행을 삭제해버려 doc['Country_Region'] = doc.apply(country_name_convert, axis =1) # 국가명을 여러파일에 일관되게 변경하기 doc = doc.astype({'Confirmed':'int64'}) doc = groupby('Country_Region').sum() date_colum = filename.split('.')[0].lstrip('0').replace('-', '/') doc.columns = [date_column] return doc 위의 코드에서 date_colum = filename.split('.')[0].lstrip('0').replace('-', '/') doc.columns = [date_column] 이 두줄은 date_colum => 컬럼명을 만들고 doc.columns = [date_column] => 컬럼을 지정한것으로 보입니다 원래 doc의 컬럼은 'Country_Region', 'Confirmed' 이렇게 두개 였는데 doc.columns = [date_column] 이 코드로 인하여 1개의 컬럼이 되어진건가요? 그럼 자동으로 앞의 컬럼 Country_Region 이게 인덱스로 지정되어지는 건가요? 앞의 컬럼이 인덱스로 지정되는게 법칙일까요? 컬럼이 5개인데 1개로 줄인다면, 무조건 맨앞의 컬럼이 인덱스가 되는건가요? 맨처음에 맨앞에 있던 인덱스컬럼 0,1,2,3,4,5 이건 왜 없어졌을까요? 질문을 잘 전달드렸는지 모르겠네요. 질문이 너무 이상하다면. 답변보다 제가 찾아봐야할 강의 목차를 알려주시면 감사하겠습니다! 그럼 많은 지도 부탁드리겠습니다
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
강의에 없는 내용인데 질문드려도 되나요?
import os PATH = 'COVID-19-master/csse_covid_19_data/csse_covid_19_daily_reports/' file_lsit = os.listdir(PATH) for file in file_list: if file.split(".")[-1] == 'csv': csv_list.append(file) print(csv_list) 이렇게 코드를 작성해보았습니다 ( csv_list = list() 이걸빼고 작성해봄, 이 코드가 왜 들어가야 하는지 모르겠어요 ㅠㅠ) 실행해보니 값이 두번출력되네요.. 왜 두번 출력되는지 여쭤봐도 되나요? ['01-22-2020.csv', '01-23-2020.csv', '01-24-2020.csv', '01-25-2020.csv', '01-26-2020.csv', '01-27-2020.csv', '01-28-2020.csv', '01-29-2020.csv', '01-30-2020.csv', '01-31-2020.csv', '02-01-2020.csv', '02-02-2020.csv', '02-03-2020.csv', '02-04-2020.csv', '02-05-2020.csv', '02-06-2020.csv', '02-07-2020.csv', '02-08-2020.csv', '02-09-2020.csv', '02-10-2020.csv', '02-11-2020.csv', '02-12-2020.csv', '02-13-2020.csv', '02-14-2020.csv', '02-15-2020.csv', '02-16-2020.csv', '02-17-2020.csv', '02-18-2020.csv', '02-19-2020.csv', '02-20-2020.csv', '02-21-2020.csv', '02-22-2020.csv', '02-23-2020.csv', '02-24-2020.csv', '02-25-2020.csv', '02-26-2020.csv', '02-27-2020.csv', '02-28-2020.csv', '02-29-2020.csv', '03-01-2020.csv', '03-02-2020.csv', '03-03-2020.csv', '03-04-2020.csv', '03-05-2020.csv', '03-06-2020.csv', '03-07-2020.csv', '03-08-2020.csv', '03-09-2020.csv', '03-10-2020.csv', '03-11-2020.csv', '03-12-2020.csv', '03-13-2020.csv', '03-14-2020.csv', '03-15-2020.csv', '03-16-2020.csv', '03-17-2020.csv', '03-18-2020.csv', '03-19-2020.csv', '03-20-2020.csv', '03-21-2020.csv', '03-22-2020.csv', '03-23-2020.csv', '03-24-2020.csv', '03-25-2020.csv', '03-26-2020.csv', '03-27-2020.csv', '03-28-2020.csv', '03-29-2020.csv', '03-30-2020.csv', '03-31-2020.csv', '04-01-2020.csv', '04-02-2020.csv', '04-03-2020.csv', '04-04-2020.csv', '04-05-2020.csv', '04-06-2020.csv', '04-07-2020.csv', '04-08-2020.csv', '04-09-2020.csv', '04-10-2020.csv', '04-11-2020.csv', '04-12-2020.csv', '04-13-2020.csv', '04-14-2020.csv', '04-15-2020.csv', '04-16-2020.csv', '04-17-2020.csv', '04-18-2020.csv', '04-19-2020.csv', '04-20-2020.csv', '04-21-2020.csv', '04-22-2020.csv', '04-23-2020.csv', '04-24-2020.csv', '04-25-2020.csv', '04-26-2020.csv', '04-27-2020.csv', '04-28-2020.csv', '04-29-2020.csv', '04-30-2020.csv', '05-01-2020.csv', '05-02-2020.csv', '05-03-2020.csv', '05-04-2020.csv', '05-05-2020.csv', '05-06-2020.csv', '05-07-2020.csv', '05-08-2020.csv', '05-09-2020.csv', '05-10-2020.csv', '05-11-2020.csv', '05-12-2020.csv', '05-13-2020.csv', '05-14-2020.csv', '05-15-2020.csv', '05-16-2020.csv', '05-17-2020.csv', '05-18-2020.csv', '05-19-2020.csv', '05-20-2020.csv', '05-21-2020.csv', '05-22-2020.csv', '05-23-2020.csv', '05-24-2020.csv', '05-25-2020.csv', '05-26-2020.csv', '05-27-2020.csv', '05-28-2020.csv', '05-29-2020.csv', '05-30-2020.csv', '05-31-2020.csv', '06-01-2020.csv', '06-02-2020.csv', '06-03-2020.csv', '06-04-2020.csv', '06-05-2020.csv', '06-06-2020.csv', '06-07-2020.csv', '06-08-2020.csv', '06-09-2020.csv', '06-10-2020.csv', '06-11-2020.csv', '06-12-2020.csv', '06-13-2020.csv', '06-14-2020.csv', '06-15-2020.csv', '06-16-2020.csv', '06-17-2020.csv', '01-22-2020.csv', '01-23-2020.csv', '01-24-2020.csv', '01-25-2020.csv', '01-26-2020.csv', '01-27-2020.csv', '01-28-2020.csv', '01-29-2020.csv', '01-30-2020.csv', '01-31-2020.csv', '02-01-2020.csv', '02-02-2020.csv', '02-03-2020.csv', '02-04-2020.csv', '02-05-2020.csv', '02-06-2020.csv', '02-07-2020.csv', '02-08-2020.csv', '02-09-2020.csv', '02-10-2020.csv', '02-11-2020.csv', '02-12-2020.csv', '02-13-2020.csv', '02-14-2020.csv', '02-15-2020.csv', '02-16-2020.csv', '02-17-2020.csv', '02-18-2020.csv', '02-19-2020.csv', '02-20-2020.csv', '02-21-2020.csv', '02-22-2020.csv', '02-23-2020.csv', '02-24-2020.csv', '02-25-2020.csv', '02-26-2020.csv', '02-27-2020.csv', '02-28-2020.csv', '02-29-2020.csv', '03-01-2020.csv', '03-02-2020.csv', '03-03-2020.csv', '03-04-2020.csv', '03-05-2020.csv', '03-06-2020.csv', '03-07-2020.csv', '03-08-2020.csv', '03-09-2020.csv', '03-10-2020.csv', '03-11-2020.csv', '03-12-2020.csv', '03-13-2020.csv', '03-14-2020.csv', '03-15-2020.csv', '03-16-2020.csv', '03-17-2020.csv', '03-18-2020.csv', '03-19-2020.csv', '03-20-2020.csv', '03-21-2020.csv', '03-22-2020.csv', '03-23-2020.csv', '03-24-2020.csv', '03-25-2020.csv', '03-26-2020.csv', '03-27-2020.csv', '03-28-2020.csv', '03-29-2020.csv', '03-30-2020.csv', '03-31-2020.csv', '04-01-2020.csv', '04-02-2020.csv', '04-03-2020.csv', '04-04-2020.csv', '04-05-2020.csv', '04-06-2020.csv', '04-07-2020.csv', '04-08-2020.csv', '04-09-2020.csv', '04-10-2020.csv', '04-11-2020.csv', '04-12-2020.csv', '04-13-2020.csv', '04-14-2020.csv', '04-15-2020.csv', '04-16-2020.csv', '04-17-2020.csv', '04-18-2020.csv', '04-19-2020.csv', '04-20-2020.csv', '04-21-2020.csv', '04-22-2020.csv', '04-23-2020.csv', '04-24-2020.csv', '04-25-2020.csv', '04-26-2020.csv', '04-27-2020.csv', '04-28-2020.csv', '04-29-2020.csv', '04-30-2020.csv', '05-01-2020.csv', '05-02-2020.csv', '05-03-2020.csv', '05-04-2020.csv', '05-05-2020.csv', '05-06-2020.csv', '05-07-2020.csv', '05-08-2020.csv', '05-09-2020.csv', '05-10-2020.csv', '05-11-2020.csv', '05-12-2020.csv', '05-13-2020.csv', '05-14-2020.csv', '05-15-2020.csv', '05-16-2020.csv', '05-17-2020.csv', '05-18-2020.csv', '05-19-2020.csv', '05-20-2020.csv', '05-21-2020.csv', '05-22-2020.csv', '05-23-2020.csv', '05-24-2020.csv', '05-25-2020.csv', '05-26-2020.csv', '05-27-2020.csv', '05-28-2020.csv', '05-29-2020.csv', '05-30-2020.csv', '05-31-2020.csv', '06-01-2020.csv', '06-02-2020.csv', '06-03-2020.csv', '06-04-2020.csv', '06-05-2020.csv', '06-06-2020.csv', '06-07-2020.csv', '06-08-2020.csv', '06-09-2020.csv', '06-10-2020.csv', '06-11-2020.csv', '06-12-2020.csv', '06-13-2020.csv', '06-14-2020.csv', '06-15-2020.csv', '06-16-2020.csv', '06-17-2020.csv']
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
id매핑 질문드립니다~
안녕하세요~ 예제를 실험해보다가 Id매핑에 대해서 궁금한게 질문 남깁니다! @Getter @Entity public class Student { @Id @GeneratedValue private Long id; private String name; } ~~생략 persist(student); print(student.getId());를 했을때 persist하는 순간 시퀀스를 가져온 다음에 Id를 Pk로 해서 student를 영속성 컨텍스트에서 저장하잖아요~ 그런데 Student 클래스에는 setter가 없는데, 어떻게 student에서 getId로 가져올 수 있는건지 모르겠습니다 ~!
-
미해결실전! 웹사이트제작! Step By Step! _Basic (한화캐미컬_반응형웹)
이미지를 img 태그로 주지 않고 background url로 주는 이유가 궁금합니다!
!!
-
미해결코어 자바스크립트
this에 대해서 이해를 해야 도움이 될것같아요.
기본적으로 자바스크립트에서는 호출하려는 함수 앞에 식별자가 this로 할당된다라는부분만 이해와 프로토타입은 객체라는것만 알아도 충분히 프로토타입을 이해하는데 도움이 될거라 생각합니다.
-
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
조회시 dto 반환 관련
삭제된 글입니다
-
미해결[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]
if row['Country_Region'] in json_data: 문의드려요
def country_name_convert(row): if row['Country_Region'] in json_data: return json_data[row['Country_Region']] return row['Country_Region'] 위의 코드중 if row['Country_Region'] in json_data: 에서 row['Country_Region'] 는 Country_Region을 index로 하는 values들을 모드 차례로 돌아가나요? 즉, for 문을 써주지 않았는데도, 자동으로 값이 아래행으로 내려가며 if문을 완성하는지 궁금합니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
css custom
안녕하세요 제로초님 css 관련 궁금한 점이 있어서 질문남깁니다! 아래와 같은 코드에서 리액트가 상태를 파악해서 다시 그려주는데 만약 open상태에서 그 어떤 글자를 클릭했을 때 색을 변하게 하고 싶어서 함수로 직접 dom에접근해 style을 변경시켰는데 다시 닫았다가 다시 open일 때 태그에 넣어놨던 style이 사라지는 경우 가 있습니다. 클래스도 마찬가지구요. 그러할 경우에는 기존 아래와 같은 방식으로는 해결할 수 없나요?
-
미해결남박사의 파이썬으로 실전 웹사이트 만들기
edit.html - 그림표시문의.
안녕하세요. 강사님. 혹시 edit 화면에서 테그로 보이는데, 이건 어떻게 처리하면 view 화면처럼 그림으로 보이게 할수 있나요? {% autoescape false %}{{data.contents}}{% endautoescape %} 옵션을 넣었는데도 edit 화면에서는 <p><img src="/board/images/j7p2JQmN.jpg" style="max-width: 900px;"><img src="/board/images/nmEgwKkv.jpg" style="max-width: 900px;"><img src="/board/images/z3PkW0xO.jpg" style="max-width: 900px;"><br></p> 처럼 테그로 나옵니다. 답변 부탁드립니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
getServerSideProps관련 질문입니다.
처음 사이트를 방문하거나 새로고침을 하는 경우만 getServerSideProps를 사용해서 로그인 유저의 정보를 가죠오고, 사이트 내에서 링크를 통해 다른 페이지를 갈 때는 getServerSideProps를 호출하지 않고 리덕스에 있는 로그인 유저 정보를 사용하고 싶은데 방법이 있나요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
build 시 다른 출력으로 질문드립니다.
강의 따라서 dockerfile 생성하고 터미널에서 빌드를 하였는데 저는 출력이 다르게 나오더라구요. 혹시나 다른 옵션을 설정해야 하나 해서 찾아봤는데 찾지를 못해서 질문드립니다. 빌드시 출력이 다를뿐이지 이미지는 생성이 됩니다. 경로는 아래와 같습니다. Dockerfile 파일 내용 강의처럼 출력을 하고 싶으면 어떻게 해야하나요? 그리고 사진처럼 출력되는 과정은 무슨 과정인가요 ?
-
미해결실전! 스프링 데이터 JPA
서로 다른 스키마(database) 에 있는 테이블의 연관관게 매핑 시 에러가 나는데 가능한 방법이 있나요?
Caused by: org.hibernate.AnnotationException: Unknown mappedBy in: xxx.a.model.User.preference, referenced property unknown: xxx.b.model.Preference.user 위와 같은 에러가 납니다. 같은 스키마에 있는 Entity 는 아무 문제 없이 연관관계 매핑이 잘 됩니다. 확인 부탁드립니다. @Entity @Table(name = "A.users") @Cacheable @JsonInclude(JsonInclude.Include.NON_NULL) class User( ::: @OneToOne(fetch = FetchType.LAZY, mappedBy = "user", cascade = [CascadeType.ALL]) var preference: Preference?, ::: ): BasePersistable() { } @Entity @Table(name = "B.preferences") @Cacheable @JsonInclude(JsonInclude.Include.NON_NULL) class Preference( ::: @JsonIgnore @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") var user: User?, ::: ): BasePersistable() { }
-
미해결언리얼 엔진4 (Unreal Engine) 3D 횡스크롤 게임 만들기
에너지빠 만들때 hud를 안쓰고 ui를 쓰는 이유가 있나요?
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
파일 다운 및 clone 404 error
안녕하세요. 강의를 듣고 react수업을 듣는 수강생입니다. 다름이 아니라 파일을 다운이나 클론해야하는 데 해당 페이지가 존재하지 않는 이유에서 인지 404 error가 git 주소로 가면 보이네요 답변 부탁드립니다
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
아나콘다 네비게이터 설치 문제
안녕하세요. 4분즈음에 나오는 아나콘다 설치 과정을 다 마친 후 anaconda navigator를 열면 실행이 안되고 .exe 가 실행되서 검은 화면의 창만 여러번 뜨네요. 오류라고 창도 뜨구요.. 혹시 해결 방법 아실까요?
-
미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
filtered duplicate request 오류
#sub category for index, category_link in enumerate(category_links): yield scrapy.Request(url='http://corners.gmarket.co.kr'+category_link,callback=self.parse_subcategory,meta={'maincategory_name':category_names[index]}) #main category for index, category_link in enumerate(category_links): yield scrapy.Request(url='http://corners.gmarket.co.kr'+category_link,callback=self.parse_items,meta={'maincategory_name':category_names[index]}) maincategory크롤링 부분만 실행했을 때는 잘 실행되는데 subcategory 크롤링 부분을 추가로 넣어서 실행시키면 scrapy.dupefilters가 뜨면서 no more dupelicates will be shown 이라는 문구가 뜨면서 아예 parse_subcategory함수로 넘어가지 않습니다. 구글링 해서 찾아보니 dont_filter = True를 Request 객체 안에 넣어주니 되긴 하던데 왜 이런 현상이 발생 되는지 알 수 있을까요??