inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

선생님 혹시 SSV 파일을 json으로 변환할 방법이 있을까요?

미해결

파이썬으로 뭘 만들지? 남박사의 파이썬 알쓸파잡

안녕하세요. 선생님 수업을 통해 크롤링까지는 성공했습니다. HTTP POST 요청으로 받아왔는데요. 다만 Response가 넥사크로에서 사용하는 "SSV"형식으로 왔습니다. SSV:UTF-8ErrorCode:string=0ErrorMsg:string=Dataset:ds_PageList_RowType_TAXNO:string(255)TAXIDX:string(255)MEMBNAM:string(255)TSDATE:string(255)TSTIME:string(255)ACQBID:string(255)CARD_NAME:string(255)HID:string(255)ACQHID:string(255)TERMID:string(255)MTRCNO:string(255)CDNO:string(255)AUTHNO:string(255)ISTMMON:string(255)CURRCODE:string(255)AMT1:bigdecimal(25)AMT2:bigdecimal(25)AMT3:bigdecimal(25)ACQDATE:string(255)DDCEDI:string(255)...... <생략> 이렇게 못생긴 데이터가 왔는데요. 이걸 json으로 파싱하고싶어서요. 이리저리 혼자서 아스키코드 찾아보고 US, RS 사용해서 어떻게든 파싱은 했는데, 제가 짠 로직이 맞나 싶어서요. (일단 작동은 되는데.. ) 혹시 선생님이라면 어떻게 하실까 싶어서요. 이런걸 잘 파싱하려면 알고리즘을 공부해야되는걸까요? 아! 그리고 깃헙에 혹시 라이브러리가 있나 찾아봤는데요. 안나오더라구요. 이게 제일 슬펐어요. 그나저나 저런거 만드는 사람들은 정말 괴물같네요.. 저런걸 도대체 어떻게 만드는 걸까요? (코드가 본문에 저렇게 붙여넣어지는 기능도 신기하네요.. 저런건 또 어떻게 만드나요?)

  • python
  • 웹-크롤링
  • gui
포포 댓글 2 좋아요 0 조회수 847

물질을 클릭했을 때 이벤트

해결됨

React Three fiber(R3F)로 배우는 인터렉티브 3D 웹 개발

물질에게 클릭이벤트를 주어 보이는 시점이 바뀌거나 물체가 이동할수있게 하고싶습니다.

  • javascript
  • react
  • typescript
  • 인터랙티브-웹
  • three.js
  • webgl
  • react-three-fiber
: 흥 댓글 1 좋아요 0 조회수 435

최신 셀레니움 테스트 소프트에 의해 제어...

미해결

실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용

안녕하세요~ 예전에 셀레니움좀 하다가 다시 최근에 만지작 하고 있습니다. 최신 셀레니움의 경우 크롬드라이버 버전 다운로드 필요없이 되더라구요! 아무튼 셀레니움 options값을 통해서 자동화제어창 문구 안뜨게 하고, user agent 값에 정상적인걸 나오게 해놓으면 상대방 서버에 접속했을 때 티가 안날까요? 나쁜짓 하려는건 아니고, 네이버랑 다음에서 그냥 단순반복 작업을 셀레니움으로 시킬까 하는데 이게 이상하게 보일까 싶어서 궁금합니다. 과도하게 요청하는것도 아니고 그냥 느릿느릿하게 작업하게 했거든요. 근데 이렇게 숨겨도 맘먹고 찾아내서 조치를 취할 수 있을까요?

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
김선영 댓글 1 좋아요 1 조회수 268

insta_mobile.py 링크만 무한루프 뜹니다. 왜 그런가요?

미해결

[자동화 완전 정복] 인스타그램 휴대폰, 웹 자동화 프로그램 개발

def insta_mobile_work(device, max_work): links = read_links() print(links) cnt = 1 for link in links: if cnt >= max_work: print(link) print("이제 작업 종료하겠습니다") break try: visited_links = [] # 이미 좋아요, 댓글, 팔로우를 신청한 링크 리스트 with open('visited.txt', 'r') as f: while True: line = f.readline() if not line: break _link = line.rstrip() visited_links.append(_link) if link in visited_links: print("이미 방문한 링크입니다.") continue print(f"{cnt} 번째 링크 방문 {link}") # link = link.replace("https://","") device.press('home') device.open_url(link) time.sleep(0.2) if device(text="작업을 수행할 때 사용하는 애플리케이션").exists(timeout=2): # 삭제되었거나, 잘못된 URL 저장된 경우에 continue continue ''' visited_account check 목표 : 최대 3회까지 계정 방문하는 기능 ''' visited_accounts = [] with open('./visited_account.txt', "r") as f: while True: line = f.readline() if not line: break account = line.rstrip() visited_accounts.append(account) # 몇 번 방문했는지 정보 획득 account_id = device(resourceId="com.instagram.android:id/row_feed_photo_profile_name").get_text() visited_count = visited_accounts.count(account_id) if visited_count >= 3: # 3회 이상 방문일 때는 다음 링크를 방문하도록 한다 # continue가 실행되면 여기 밑에있는 코드가 실행이 안됨 (for 문 안에서 사용가능) continue ''' 1. 좋아요 누르기 - 단, 좋아요가 이미 눌러져 있으면 Pass ''' # 좋아요 버튼 나타나는것 기준으로 5초까지 대기 if not device(resourceId="com.instagram.android:id/row_feed_button_like").exists(timeout=3): device.swipe_ext("up", scale=0.75) time.sleep(3) alreadyLiked = False if device(resourceId="com.instagram.android:id/row_feed_button_like").exists( timeout=5): # 만약 ,좋아요 버튼이 안 눌러져있으면 좋아요 버튼을 누른다 if device(resourceId="com.instagram.android:id/row_feed_button_like", selected=False): device(resourceId="com.instagram.android:id/row_feed_button_like").click() time.sleep(1) if check_bot_detection(device): print("[봇 탐지] - 좋아요 시도 실패") raise Exception("[봇 탐지] - 좋아요 시도 실패") else: alreadyLiked = True time.sleep(3) # ''' # 2. 댓글 달기 - 랜덤 멘트를 미리 작성해놓고, 랜덤으로 뽑아서 댓글 달기''' # if not alreadyLiked: # device(resourceId="com.instagram.android:id/row_feed_button_comment").click() # time.sleep(3) # # 기본 키보드가 활성화 되어있는 경우 back버튼을 눌러줌 # if device(resourceId="com.samsung.android.honeyboard:id/bee_item_icon").exists(): # device.press('back') # time.sleep(1) # if not device(text="이 게시물에 대한 댓글 기능이 제한되었습니다.").exists(): # print("커멘트 작성 가능 exists") # device(resourceId="com.instagram.android:id/layout_comment_thread_edittext").click() # # 실제 사람이 작성하는 것처럼 문장 사이의 타이핑 딜레이가 들어감 # comments = ["♡", "❤️", "❤️❤️", "♥"] # comment = random.choice(comments) # for word in comment: # device.send_keys(word) # time.sleep(random.uniform(0.03, 0.08)) # print("댓글 작성 완료") # time.sleep(3) # if device( # resourceId="com.instagram.android:id/layout_comment_thread_post_button_click_area").exists(): # device( # resourceId="com.instagram.android:id/layout_comment_thread_post_button_click_area").click() # elif device(resourceId="com.instagram.android:id/layout_comment_thread_post_button").exists(): # device(resourceId="com.instagram.android:id/layout_comment_thread_post_button").click() # time.sleep(1) # if check_bot_detection(device): # print("[봇 탐지] - 댓글 달기 시도 실패") # raise Exception("[봇 탐지] - 댓글 달기 시도 실패") # print("게시 버튼 꾸욱.") # time.sleep(2) # device.press('back') # time.sleep(2) # device.press('back') # else: # device.press('back') # time.sleep(3) # 방문 1회 추가 ! with open('./visited_account.txt', "a") as f: f.write(f"{account_id}\n") # 3. 팔로우 신청 - 단, 이미 팔로잉 상태면 Pass # 사진 사이즈가 너무 크면, 위로 스와이프 해줘야함 device.swipe_ext("down", scale=0.8) time.sleep(3) account_ids = [] # 이미 팔로우를 신청한 계정 리스트 with open('accounts.txt', "r") as f: while True: line = f.readline() if not line: break account_id = line.rstrip() account_ids.append(account_id) if not device(resourceId="com.instagram.android:id/row_feed_photo_profile_name").exists(): device.press('back') time.sleep(1) target_account_id = device(resourceId="com.instagram.android:id/row_feed_photo_profile_name").get_text() # 딱 1번만 팔로우 하겠다. if not target_account_id in account_ids: # 팔로우할 유저의 계정을 기록 with open('accounts.txt', "a") as f: account_id = device(resourceId="com.instagram.android:id/row_feed_photo_profile_name").get_text() f.write(f"{account_id}\n") device(resourceId="com.instagram.android:id/row_feed_photo_profile_name").click() time.sleep(3) if device(description="맞팔로우 하기", text="맞팔로우").exists(): device(description="맞팔로우 하기", text="맞팔로우").click() elif device(text="팔로우", className="android.widget.Button"): device(text="팔로우", className="android.widget.Button").click() else: # 이미 맞 팔로우가 되어 있으므로 실행시키지 않아도 됨 pass time.sleep(1) if check_bot_detection(device): print("[봇 탐지] - 팔로우, 맞팔로우 신청 시도 실패") raise Exception("[봇 탐지] - 팔로우, 맞팔로우 신청 시도 실패") time.sleep(2) device.press("back") time.sleep(2) device.press("back") time.sleep(3) else: print("이미 팔로우된 계정입니다") cnt += 1 random_time = random.randrange(60, 90) print(random_time, '초만큼 대기하겠습니다') time.sleep(random_time) '좋아요, 팔로우, 댓글 작성까지 완료된 게시글' with open('visited.txt', 'a') as f: f.write(f"{link}\n") except: pass 1 번째 링크 방문 https://www.instagram.com/p/C2DUpJJBWI1/ 1 번째 링크 방문 https://www.instagram.com/p/C3SMeJSyIRC/ 1 번째 링크 방문 https://www.instagram.com/p/C3fDCYiM4gt/ 1 번째 링크 방문 https://www.instagram.com/p/C2hjVjmxPEg/ 왜그런가요?

  • python
  • selenium
김희수 댓글 2 좋아요 0 조회수 442

DAY11 영상에 오타있네요

미해결

기초 알고리즘 코딩테스트 40일 완성 (by 하루코딩)

최댓값 문제 2566번인데 2556번(별 찍기 - 14)로 숫자가 잘못되어있습니다. 수정 부탁드립니다.

  • python
  • java
  • 코딩-테스트
kairs294702 댓글 2 좋아요 0 조회수 293

그대로 넣으면 map을 찾지 못한다는 오류가 나옵니다

미해결

처음 만난 리액트(React)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이런 오류가 나오면서 따로 실행이 되지 않습니다

  • HTML/CSS
  • javascript
  • react
rkrdh727 댓글 2 좋아요 1 조회수 484

useQuery랑 queryClient.getQueryData랑 차이점이 있을까요??

해결됨

Next + React Query로 SNS 서비스 만들기

기본적으로 캐싱된 데이터가 있으면, 그 데이터를 가지고 오는 것으로 알고 있는데, const { data} = useQuery({ queryKey: ['posts', 'recommends'], queryFn: getPostRecommends}); const data = queryClient.getQueryData(['posts', 'recommends']); 두 가지 차이점이 있는지 궁금합니다.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
oct.wanga 댓글 2 좋아요 -1 조회수 1871

텔레그램 센드 메세지 API 4,096바이트 넘을시 전송 불가

미해결

실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용

안녕하세요 유튜브도 보고, 강의도 결제해서 보고 있는 이광희라고 합니다. 강의 정말 감사드립니다. 강의대로 코드 짰더니 봇에 전송도 잘 되는데 문제는 메세지가 길어져서 (업무특성상 뉴스 검색량이 많음) 4,096바이트를 넘어가니 전송이 아얘 되지를 않네요. 일반적인 텔레그램 1:1채팅이나 단체방 채팅에서는 장문을 입력하면 자동으로 나눠져서 전송되는데 API는 4,096바이트가 넘어가니 아얘 전송이 되질 않네요. 1) 이걸 코딩에서 해결해서 전송해야 한다면 어떤 방법이 있을지 2) 아니면 텔레그램 API상 다른 방법이 있는지요 궁금합니다

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
Kwanghee Lee 댓글 3 좋아요 0 조회수 805

폰에 atx라는 자동차 모양 아이콘의 앱이 설치되었어요.

미해결

[자동화 완전 정복] 인스타그램 휴대폰, 웹 자동화 프로그램 개발

폰에 atx라는 자동차 모양 아이콘의 앱이 설치되었어요. 얘가 전화 허용이라는 권한을 요청하기도 했고 폰 상단 알림창에 계속 uiautomator 이라는 이름과 ip주소가 써진 알람을 계속 보내요 . 알람을 지우고 몇 분 뒤에 보면 또 알람창에 떠 있고. 이 앱을 폰에 계속 설치되어 있는 상태로 있어야 하는지 궁금합니다. 앱 들어가보면 weditor처럼 중국어(?)로 써져 있어서 불안해서요.

  • python
  • selenium
마루 댓글 2 좋아요 0 조회수 388

xpath 질의

미해결

실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용

강사님 매번 강의로 도움많이받고있습니다 감사합니다. 개인적으로 일전에 구글을 예를 들어 다양한 키워드에 따라 생성 텝메뉴들이 달라져서 고민을 많이하던때가있었는데 'View탭 클릭하여 페이지넘어가기'강의와 같이 xpath 지정하였을때 '//*[text()="VIEW"]' 입력하면 되는것일까요? 음 현재 네이버가 뷰 서비스를 폐지했는데 만약 블로그를 클릭한다면 '//*[text()="블로그"]' 를 입력하면 클릭이되나요?안되서여ㅜㅜ혹시 도움이될만한 고견주시면 감사드리겠습니다.

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
동휘김 댓글 1 좋아요 0 조회수 251

pip명령이 vscode 명령프롬프트에서만 않되네요

미해결

[신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편

그냥 명령프롬프트 띄우면 잘되는데 vscode의 터미널 명령프롬프트에서만 안되네요 vs내에 인터프리트 경로까지 잡아줬는데도 안되요 'pip'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 뜹니다 왜일까요?

  • python
  • selenium
  • openpyxl
열공 댓글 2 좋아요 0 조회수 4628

react-intersection-observer 무한스크롤페이지 중복호출문제

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요 제로초님 강의 잘 보고 있습니다. 다름아니라 무한스크롤 부분 구현중(개인 프로젝트에 해당 부분만 먼저 적용중이라 jsonplaceholder API로 호출하고 있습니다) fetchNextPage가 2번씩호출이 되어서 delay도 조정해보았는데 계속 2번씩호출이 되서 로직에 혹시 문제가 있는지 봐주실수 있을지부탁드립니다. 0. 콘솔에 확인한 결과 처음 화면에 ref가 렌더되고 그 이후 data fetching이 완료되어 isFetcing이 false가 되었는데, data를 map으로 div로 뿌리는 렌더링 과정에 시간이 소모되어 inView는 true && isFetching도 false가 되어서 div가 화면에 나타나고 ref div를 가리기 전에 data fetching을 한번씩 더 하고 있는 상황입니다. 감사합니다

  • react
  • next.js
  • react-query
  • next-auth
  • msw
나무아르볼 댓글 3 좋아요 0 조회수 1369

uc를사용할때 유저 에이전트 변경이 불가능합니다.

미해결

파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)

undetected chromedriver 를 사용할때 UA_Data = make_user_agent(UA, True) self.driver.execute_cdp_cmd("Network.setUserAgentOverride", UA_Data) 를 이용하여도 userAgentData의 변경이 되지 않습니다. 버전의 문제일까요?

  • 웹-크롤링
  • selenium
  • cdp
dykim710 댓글 2 좋아요 0 조회수 539

팔로워 리스트 추출완료 count 관련 문의드립니다.

미해결

[자동화 완전 정복] 인스타그램 휴대폰, 웹 자동화 프로그램 개발

main.py 에 count 10을 했는데 계속 진행되고 있습니다. keyword_list = ["식당인테리어","식당"] for keyword in keyword_list: #해시태그 띄어쓰기 사용 불가, 필터링 기능 keyword = keyword.replace(" ","") count = 10 insta_web.insta_web_work(driver,keyword,count) insta_mobile.insta_mobile_work(device,30) print("[작업 완료] - 자동화 프로그램 동작이 완료되었습니다.") 그리고 파일이 저장이 되지 않습니다. 뭐가 문제일까요? 테스트용으로 count 10을 했는데 말입니다. 저장되지 않는 것 같습니다. 포스팅 링크 추출 완료 팔로워 리스트 추출 완료 70 - 1 팔로워 리스트 추출 완료 69 - 2 팔로워 리스트 추출 완료 56 -3 팔로워 리스트 추출 완료 59 -4 팔로워 리스트 추출 완료 52 -5 [에러] 팔로워 버튼 클릭 에러 팔로워 리스트 추출 완료 0 팔로워 리스트 추출 완료 72 -6 팔로워 리스트 추출 완료 60 -7 팔로워 리스트 추출 완료 64 -8 팔로워 리스트 추출 완료 54 -9 팔로워 리스트 추출 완료 30 -10 팔로워 리스트 추출 완료 71 -11

  • python
  • selenium
김희수 댓글 2 좋아요 0 조회수 456

node 20이상 쓸때 꿀팁

미해결

[React 1부] 만들고 비교하며 학습하는 React

package.json에서 "scripts": { "start": "export NODE_OPTIONS=--openssl-legacy-provider && webpack serve", "build": "webpack" }, 를 추가해주면 open-ssl 관련 에러가 사라집니다.

  • react
  • mvc
dohyun_lim 댓글 3 좋아요 4 조회수 790

jest 테스트코드 작성을 위한 사전세팅 중 문제가 발생했습니다.

미해결

2시간으로 끝내는 프론트엔드 테스트 기본기

안녕하세요 jest 테스트코드 작성을 위한 사전세팅중 위와 같이 코드를 작성 후 실행하였더니 이러한 에러가 발생하였습니다. jest를 사용하며 import라는 구문을 사용하지 못한다는 에러같은데 해결 방법이 있을까요??

  • react
  • jest
  • 소프트웨어-테스트
  • Cypress
  • storybook
  • chatgpt
swoo1429 댓글 3 좋아요 0 조회수 842

휴대폰 로그인 패턴

미해결

[자동화 완전 정복] 인스타그램 휴대폰, 웹 자동화 프로그램 개발

안녕하세요. 강의 잘듣고 있습니다. uiautomator2에서 핸드폰 초기 lock화면의 패턴을 입력하는 방법은 지원하지 않나요. 아니면 다른 식의 방법이 있는것인가요 확인한번 부탁드립니다.

  • python
  • selenium
이승섭 댓글 2 좋아요 0 조회수 314

강의 코드는 어디서 볼 수 있나요?

미해결

파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)

안녕하세요. 자꾸 질문드려서 죄송합니다. 혹시 강의 진행에 사용된 코드 깃허브 주소같은거나 첨부파일은 없나요? 맨 마지막 파트에 있는건 추가된 강의에 대한 코드 자료들만 있어서요..

  • 웹-크롤링
  • selenium
  • cdp
류승택 댓글 2 좋아요 0 조회수 488

테스트 실행이 안되는 문제..

미해결

2시간으로 끝내는 프론트엔드 테스트 기본기

공유해주신 프로젝트 clone해서 수정 없이 npm run unit-test 명령어 실행 시, 아래 이미지와 같이 export().toBeInTheDocument() 를 찾지 못해 진도를 나가지 못하고 있습니다.. 혹시 해결방안을 알려주실 수 있으실까요? 구글링 검색 시, import "@testing-library/jest-dom"; 을 테스트 파일 가장 상위에 두라고 하는데 이미 되어 있고 다른 해결책들도 실행해보았지만 해결하지 못했습니다. 노드 버전은 20.10.0 , 18.19.0 , 18.14.0 에서 실행했을 때, 모두 실패했습니다..

  • react
  • jest
  • 소프트웨어-테스트
  • Cypress
  • storybook
  • chatgpt
mktae 댓글 1 좋아요 0 조회수 651

accounts/url 질의

미해결

장고 설계철학으로 시작하는 파이썬 장고 입문

화면과같이 include 부분 강좌와 다르게 저절로 세팅이 되고 서버 실행하면 계속 오류가나는데 어떻게해야하나요ㅜㅜ

  • python
  • django
동휘김 댓글 2 좋아요 0 조회수 260

인기 태그

인프런 TOP Writers

주간 인기글