내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
안녕하세요 좋은 강의 잘 듣고 있습니다. 네이버 부동산 크롤링 관련하여 문의드리려고 하는데요, 특정 url에 대해 get을 통해 데이터를 받아올 때 특정 횟수 이상 요청을 반복하면 네이버에서 거절을 하는 것 같습니다. (특정 횟수 후 res = get(url, headers = headers) 후 res.text를 찍어보면 "페이지를 찾을 수 없습니다."라는 식의 내용으로 바뀜) 앞선 질문 중에 retry 라이브러리 이용하여 해결했다는 사례를 봤고, headers 변수 내의 일부 key에 대한 Value를 변경하면 다른 주체(?)로 서버가 인식하여 다시 응답을 준다라고 이해했습니다. 여러 Location에 있는 pc로 각각의 header 정보를 확인해보니 대부분의 내용은 동일하였으나 [Authorization, Referer] 정도가 다른 Value를 갖더라구요. 따라서 최초 시도 후 서버로부터 Block 발생 시 다른 pc에서의 header 정보로 수정하여 다시 get을 시도했는데 여전히 동일한 block이 발생하고 있습니다. 질문입니다. header 정보의 일부 Key에 대한 Value를 임의로 수정했는데 서버에서 동일한 요청으로 판단할 수가 있나요? 즉 헤더 정보보다 상위의 메타 데이터가 있나요? 혹은 제가 header 정보 수정을 잘못 했다던지 등의 조언 부탁드립니다. 감사합니다.
위의 그림과 같이 오류가 발생하는데, 이유를 모르겠어요.. 어떻게 해결해야 할까요? jsconfig.json 파일 안에 include 를 작성하기 전, 뷰를 설치할 때 기본적으로 작성된 코드가 있는 것들을 모두 지우고 영상 강의대로 진행했습니다. 지워진 코드는 아래와 같습니다. // "compilerOptions": { // "target": "es5", // "module": "esnext", // "baseUrl": "./", // "moduleResolution": "node", // "paths": { // "@/*": [ // "src/*" // ] // }, // "lib": [ // "esnext", // "dom", // "dom.iterable", // "scripthost" // ] // }
카프카 프로듀서 소개 강의를 보다 질문드립니다. 프로듀서에서 레코드를 send하면 Accumulator에서 배치로 묶는 과정을 한다고 하셨는데요. 실제 Sender가 발생하는 시점에 프로듀서 애플리케이션에서 항상 1개의 배치 단위로 tcp 통신이 발생하나요? 아니면 내부적으로 여러개의 배치를 한번의 tcp 통신으로 통신할까요?
제가 수업을 놓쳤는지 모르겠는데... 시큐리티가 기본으로 /login을 캐치한다고 들었는데 이 기본값을 바꿀 수 있는 방법이 존재하나요? /login으로 Post 요청을 보내면 attemptAuthentication 메서드를 실행해서 로그인 하는 걸로 알고있는데 /login 값을 제가 원하는 /api/login 처럼 변경할 수 있는지 궁금합니다.
안녕하세요 rn webview에서 오디오 관련해서 문제가 있어 질문드리게 되었습니다. 현재 react-native webivew에서 agora를 사용하고 있는데 음성 채팅에 참여할 때 마이크 권한을 얻고 오디오트랙을 활성화 시키는데 이 과정에서 background에서 재생중이던 앱의 오디오가 중지되는 문제가 있습니다. android에서는 webview의 오디오 트랙이 활성 또는 비활성될 때 재생중이던 앱의 오디오가 잠깐 중지되었다가 다시 재생되는데 ios에서는 재생중이던 앱의 오디오가 중지되고 다시 재생되지 않는 문제가 있습니다. AppDelegate.mm 에서 #import <AVFoundation/AVFoundation.h> . . . [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; 또는 NSError setCategoryError = nil; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&setCategoryError]; if (setCategoryError) NSLog(@"error AVAudioSession setCategory"); NSError activationError = nil; [[AVAudioSession sharedInstance] setActive:YES error:&activationError]; if (activationError) NSLog(@"error AVAudioSession setActive"); 를 설정해봤지만 Error acquiring assertion: <Error Domain=RBSServiceErrorDomain Code=1 "(originator doesn't have entitlement com.apple.runningboard.assertions.webkit AND originator doesn't have entitlement com.apple.multitasking.systemappassertions)" UserInfo={NSLocalizedFailureReason=(originator doesn't have entitlement com.apple.runningboard.assertions.webkit AND originator doesn't have entitlement com.apple.multitasking.systemappassertions)}> 같은 에러가 발생하고 여전히 해결되지 않고 있습니다. ㅠㅠ
저는 super를 부모 클래스의 어떤 것을 사용하는 것으로 이해했습니다. package nodocoding; public class _18_ClassMethod { public static void main(String[] args) { Animal [] animals = new Animal[2]; animals[0] = new Animal(); animals[0].age = 10; animals[1] = new Lion(); ((Lion)animals[1]).name = "lion"; System.out.println(((Lion)animals[1]).name); ((Lion)animals[1]).cry(); } } class Animal { int age; String species; void cry (){ System.out.println("동물소리를 내며 울어요."); } } class Lion extends Animal{ String name; void lionCry() { super.cry(); System.out.println("라이언의 울음소리는 크아앙"); } } 제가 생각한 것은 ((Lion)animals[1]).cry(); 라고 코드를 작성했을 때 결과가 "동물소리를 내며 울어요." "라이언의 울음소리는 크아앙" 이라고 뜰 줄 알았는데 "동물소리를 내며 울어요." 만 뜨더라구요. 예상과 다르네요 ㅠ 왜 이런 걸까요??
안녕하세요, 데드락 탐지 건에서 질문을 하고 싶습니다. 제가 강사님 프로젝트를 다운받아서 코드를 제대로 살펴보았음에도 육안으로 구분한 것이라 제가 간과한 부분이 있을 수도 있습니다. 영상 마지막 부분에 std::stack<int32> 부분은 선언하지 않고, 순전히 영상 전의 내용과 고친 부분의 후로 나뉘기는 하지만 결과는 동일합니다. 결과적으로는 무한루프 가 발생하는데, 이게 DFS 내부적인 로직이 꼬여서 무한루프가 발생하는 것인지, 아니면 스레드 끼리의 DeadLock 으로 인해서 생긴 무한루프 때문에 충돌이 난 것인지 제가 확인을 할 방법이 없습니다. (정확히는 디버깅 미숙 숙련도 이슈입니다.) 혹시 어디 부분이 제가 빠트렸거나 유추 가능한 원인요인들이 있을까요? https://drive.google.com/file/d/1HYHZMhf6wkkHxvqLIpAU1-SsSNKS4rO3/view?usp=drive_link
04-02 docker에서 포트 내보내는 실습 도중 갑자기 사진과 같이 에러가 나는데 서버 띄우는데는 지장이 없이 잘 돌아갑니다. 지금까지 잘 돌아가다가 확인해보니 모든 파일의 import 코드 부분이 다 저렇게 에러가 나는데 어떻게 해야 하나요 ? 서치해도 마땅히 나오지 않아 질문 드립니다 ㅜㅜ
오버플로우를 확인해보고 언더플로우도 확인해보려고 최솟값을 할당한 후 값에 -1을 할 계획이었습니다. 그런데 최솟값을 할당하는 것 자체가 에러가 발생했습니다. 에러는 error C4146로 https://learn.microsoft.com/ko-kr/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4146?view=msvc-170 위의 사이트에서 설명을 참고했습니다. 그런데 위 사이트의 설명에 의한다면 char과 short도 최솟값이 할당이 안되고 에러가 나야할 것 같은데 char과 short는 최솟값도 할당이 잘 되고, 최솟값에 -1을 했을 때 언더플로우도 잘 발생(?)되었습니다. 혹시 왜 그런것인지 알려주실 수 있으실까요..?!
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); String sNum = sc.next(); char[] cNum = sNum.toCharArray(); int sum = 0; for(int i=0; i<cNum.length; i++){ sum += cNum[i] - '0'; } System.out.println(sum); } } 이 코드에서 int N = sc.nextInt(); 이렇게 한 이유가 문제 예제 이유 5, 54321 에서 5를 입력했기때문에 사용한 건가요??