묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Node.js로 웹 크롤링하기
6강 프록시 서버 테스트 관련하여
안녕하세요.. 프록시 사이트 (http://spys.one/free-proxy-list/KR/) 에 있는 프록시 사이트에 대한 정보를 가져와서, sqlite에 저장하는 코드로 테스트 하고 있습니다. 두가지 문제 현사잉 발생하고 있습니다.관련 크롤러 함수를 실행했는데, puppeteer의 브라우저 화면이 안나나나지만, 프록시 사이트 정보를 클로링은 합니다. 현재 headless:false로 해서 브라우저를 기동시키고 있는데, 왜 이런 형상이 발생할 까요? 인터넷 정보를 서치하다 보니, 브라우저 실행시 '--no-sandbox'를 해보하고 해서 해봤더니, 페이지 보이기는 합니다. (이 옵션의 의미는 무엇인지 궁금합니다.)강의 동영상에서 알려주신대로 크롤링 된 사이트에서 latency가 가장 작은 ip를 이용해서 브라우저 실행시 --proxy-server=fastestProxy 로 설정한 후 네이버 IP 확인 페이지를 호출했는데,Error: net::ERR_TIMED_OUT at https://search.naver.com/search.naver?where=nexearch&ssc=tab.nx.all&query=%EB%82%B4%EC%95%84%EC%9D%B4%ED%94%BC%EC%A3%BC%EC%86%8C&sm=tab_she&qdt=0 가 발생하는데, 이는 네이버에서 Proxy서버에서 접근하는 것을 막아서 발생하는 것인가요? 프록시 서버를 사용하지 않고 브라우저를 생성하면, 정상적으로 접근되어서 제 IP 주소를 확인할 수 은 있습니다.강의 처럼 변경된 프록시 서버의 ip를 확인할 수 있는 방법이 무엇인지 알려주시면 좋겠습니다.
-
미해결일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
5강 Xpath 관련 오류
/usr/local/lib/python3.10/dist-packages/urllib3/connectionpool.py:1099: InsecureRequestWarning: Unverified HTTPS request is being made to host 'search.shopping.naver.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn( --------------------------------------------------------------------------- NoSuchElementException Traceback (most recent call last) <ipython-input-31-bd4c400cf669> in <cell line: 10>() 8 # 2023.05.08 변경 find_element_by_xpath TO find_element 9 # element=driver.find_element_by_xpath(shoppingmall_review) ---> 10 element=driver.find_element(By.XPATH, shoppingmall_review) 11 driver.execute_script("arguments[0].click();", element) 12 sleep(2)/usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py in check_response(self, response) 243 alert_text = value["alert"].get("text") 244 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here --> 245 raise exception_class(message, screen, stacktrace) NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[1]/div/div[2]/div[2]/div[2]/div[3]/div[2]/div/div[2]/ul/li[5]/a"} (Session info: headless chrome=90.0.4430.212); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception Stacktrace: #0 0x5b8b8afb27f9 <unknown> #1 0x5b8b8af523b3 <unknown> #2 0x5b8b8ac9a016 <unknown> #3 0x5b8b8acce81e <unknown> #4 0x5b8b8ad048fb <unknown> #5 0x5b8b8acf1ded <unknown> #6 0x5b8b8ad029e1 <unknown> #7 0x5b8b8acf1c93 <unknown> #8 0x5b8b8acc3ce4 <unknown> #9 0x5b8b8acc54d2 <unknown> #10 0x5b8b8af7e542 <unknown> #11 0x5b8b8af8dce7 <unknown> #12 0x5b8b8af8d9e4 <unknown> #13 0x5b8b8af9213a <unknown> #14 0x5b8b8af8e5b9 <unknown> #15 0x5b8b8af73e00 <unknown> #16 0x5b8b8afa55d2 <unknown> #17 0x5b8b8afa5778 <unknown> #18 0x5b8b8afbda1f <unknown> #19 0x7aaab6c3fac3 <unknown> #20 0x7aaab6cd1850 <unknown> 전달 주신 수업노트 코랩에 있는 내용으로 그대로 넣었는데 오류 값이 위와 같이 발생합니다. 확인 부탁드려요. xpath 값도 업데이트해서 넣었어요ㅠㅠ
-
미해결Node.js로 웹 크롤링하기
페이스북 로그인 로그아웃 자동화관련
안녕하세요.. 5-1 페이스북 로그인/로그아웃 관련 강의를 따라 하고 있습니다.puppeteer의 page를 이용해서 로그인 버튼까지는 클릭해서 실행까지는 되는 것 같습니다.그래서 로그인 버튼 클릭후에 사용자에게 로그인 승인 알람 메시지를 처리해야 실질적인 로그인 페이지로 넘어가고 있는 상황입니다. 이럴경우 강의 시간에 알려주신 방법들은 대부분이 타임아웃 오류가 발생합니다. 이 부분을 어떻게 해결해야 할지 방법을 알려 주시면 좋겠습니다. 강의 내용의 모습이랑. 현재시점의 페이스북이 달라서 수정하는 것이 초보자에게는 어렵네요..
-
미해결LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
YouTubeSearchTool 에러
YouTubeSearchTool 사용시requests.exceptions.HTTPError: 403 Client Error:Forbidden for url: https://api.ydc-index.io/search?query= 에러가 납니다.
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
pyinstall로 exe파일을 만들었는데 코드 한줄만 수정하고선 다시 pyinstall -w -F 파일명 해주면 되는건가요?
한 줄만 수정하고 업데이트 하고싶은데다시 pyinstaller -w -F 파일명 하면 새로운 exe를 만드는게 아닌가요?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
강의 "requests, Beautifulsoup4 사용법 빠르게 알아보기"에서 질문이있습니다.
7:59초에 출력값을 여러개로 하고 싶은데 선생님 같이 똑같이 설정을 해도 출력값이 한 줄로만 나옵니다 .
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.
except 이후에 실행이 안되는데 finally가 되려면 finally 코드를 영상말고 다르게 수정해주어야 되는건가요?
-
해결됨Node.js로 웹 크롤링하기
3-2 axios로 이미지 저장하기에서 axios 관련 오류..
안녕하세요.. 3-2강을 따라하고 있습니다. 3-1강에서 발생한 선택자 관련 문제는 docuemnt.querySelector를 이용해서 포스터 이미지 태그의 src를 가져오는 것은 되었습니다.추출된 url을 이용하여 웹브라우저에서 해당 이미지를 확인할 수 있었습니다. 그런데,3-2강에 나와있는대로, axios를 이용하여 해당 이미지를 다운로드 받으려고 하니, 오류가 발생합니다. 오류 내용은 아래 이미지와 같습니다.커뮤니티 게시판에 AxiosError 메시지 걺색을 했는데 결과가 없어서.. 바로 질문 올립니다. 어떻게 해결해야 할까요?
-
미해결Node.js로 웹 크롤링하기
3-1 이미지 다운로드 준비하기 에서 선택자 구성 질문
안녕하세요.. 현재 3-1강을 따라 하고 있씁니다.현재 네이버 영화사이트가 강의시점하고 달라서 현재 url에 맞게 테스트 하면서 따락 가고 있습니다.그런데 지금 네이버가 보여주는 웹사이트에서 영화포스터 이미지를 다운로드 받으려고, css 선택자를 구성하고자 하는데, 잘 안됩니다. 도움을 주시면 좋겠습니다. 현재의 네이버 영화url에서 포스터 이미지는 위의 이미지에서 빨간선에 둘러싸인 이미지라고 판단햇습니다. 요소 선택자로 해당 요소를 선택하니, 제생각에는 '.detail_info a.thumb._item ._img' 라고 생각했는데, 콘솔창에서 .$('.detail_info a.thumb._item img._img')를 입력했더니 null 이 나옵니다. 어떻게 선택자를 구성해야 하는지 알 수 있을까요? 콘솔에서 해당 이미지의 src를 추출되어야 할 텐데.. 이미지가 선택안되어서 계속 오류가 발생합니다.
-
해결됨Node.js로 웹 크롤링하기
2-4 csv 출력하기에서 오류 발생
안녕하세요.. 최근에 강의를 수강하고 있습니다.2-4강을 따라서 테스트하고 있습니다.그런데 총 10개의 링크를 가져와서 puppeteer를 이용해서 평점값을 가져오는데, 중간에 하나의 결과를 저장하지 않는 오류가 발생합니다. 왜 그럴까요? 처음에는 인덱스 번호 2번이 undefined 되더니, 이번에는 인덱스 7번이 생성이 안되어서 cs 파일 생성시 오류가 발생합니다. 이런 현상은 왜 발생할까요?
-
미해결LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
selenium chrome driver click시 화면이 공백으로 나옵니다.
from selenium.webdriver.common.by import Byeconomy = driver.find_element(By.CSS_SELECTOR,'#gnbContent > div > ul > li:nth-child(4) > a > span')economyeconomy.click()driver.implicitly_wait(5)시 화면이 공백으로 나오네요
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
pyqt5와 pyside가 충돌
pyqt5와 pyside가 충돌을 해서 .exe 파일이 만들어지지 않아서 pyqt5를 uninstall 했는데도 exe 파일이 만들어지지 않네요. 이럴 때 파이썬을 다시 삭제하고 설치하는 방법밖에 없나요?
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
크롤링해서 엑셀 파일 만들기
강사님이 주신 그대로 주피터에 복붙해서 실행하였는데 엑셀파일을 대체 어디서 찾아야하나요. 주피터 노트북을 크롬으로 실행하여 연습하고 있는데 따로 컴퓨터에 저장하는 경로가 있나요?
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
사용 api 설정
강의와 다르게 사용 api를 설정해야만 다음 페이지로 넘어가는데 어떻게 하면 되나요? web 설정이라는게 없습니다. 신규로 등록할 수 없는 api 라고 합니다
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
네이버 자동입력 방지 문자 우회안됨
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time import pyperclip driver = webdriver.Chrome() driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/") #네이버 로그인 페이지 링크 time.sleep(1) id = driver.find_element(By.CSS_SELECTOR, "#id") pyperclip.copy(user_id) id.send_keys(Keys.COMMAND, 'v') time.sleep(1)pw = driver.find_element(By.CSS_SELECTOR, "#pw") pyperclip.copy(user_pw) #pw.send_keys(pyperclip.paste()) pw.send_keys(Keys.COMMAND, 'v') time.sleep(1) driver.find_element(By.CSS_SELECTOR, "#log\\.login").click()\ 안녕하세요 위와 같이 네이버 자동로그인 시도해도 여전히 자동입력방지 문자 입력화면 우회가 현재는 안되는데요. 다시 해보니 대부분 우회되는데 가끔씩 안되는 경우가 있네요. id, password를 복붙하는 것이 현재로는 유일한 우회방법인 것이죠?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
xpath로 크롤링이 안됩니다.
위와 같이 되어있는 구조에서 FABRIC에 대한 CSS 주소가 없어서 XPATH 주소로 아래와 같이크롤링 코드를 작성하였습니다.fabric = driver.find_element(By.XPATH, '//*[@id="prod_goods_form"]/div[1]/div/p[3]').text.strip() 그런데 계속해서 오류가 납니다. 왜그런걸까요?안에 내용이 text인데 뒤에 또 text를 붙여서 그런건가요? 에러는 아래와 같이 나옵니다.return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"] Session info: chrome=128.0.6613.138); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#invalid-selector-exceptionStacktrace:
-
미해결12시간 안에 끝내는 파이썬을 활용한 크롤링
Beautifulsoup실습도중 발생한 문제
Beautifulsoup라이브러리 네이버 "메일"추출하기를 수행하고 있는데 일단 네이버 사이트에 있는 것이 강의와 다르고강사분의 코드를. 동일하게 하고 안에 태그를 span으로만 해도 아무것도 추출되지 않습니다.어떻게 해야하나요
-
해결됨파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
집합 set 값 출력 순서
data_set = {'apple', 'dell', 'samsung', 'lg'}if 'apple' in data_set: print(data_set)출력 시 {'lg', 'apple', 'samsung', 'dell'}이렇게 순서가 뒤섞여 나옵니다.왜 그런걸까요?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
GUI를 변형하여 네이버 쇼핑에서 가져오는것 성공했지만... 도와주세요
안녕하세요.네이버 지식인 GUI 강의하신 내용 참고하여,네이버 쇼핑을 GUI 로 만들어 보았습니다.여러번 버버벅 거리면서 수정하여, GUI 에 제품명을 담고, 엑셀로도 제품명과 링크 저장하는데 까지 성공했습니다.그런데, 네이버로 부터 ip 일시적 차단 경고 받았습니다.사전에 ip 차단 염려하여 1 페이지만 크롤링했고, 코드에서는 2군데 time.sleep(2)도 두었는데도 , 네이버로 부터 경고 받았습니다. 그래서, 더 진행하다가 아예차단될까 두려워서 방법 문의 드립니다.네이버 쇼핑 경고 ;쇼핑 서비스 접속이 일시적으로 제한되었습니다.네이버는 안정적인 쇼핑 서비스 제공하고자 시스템을 통해 아래와 같은 비정상적인 접근이 감지될 경우 해당 네트워크의 접속을 일시적으로 제한하고 있습니다.상품 구매, 탐색과 무관한 외부 이벤트를 통한 접속짧은 시간 내에 너무 많은 요청이 이루어진 IPVPN을 사용하여 접속한 IP특정 확장 프로그램 이용 시위와 같은 접근이 아님에도 접속이 제한된 경우,네이버앱을 업데이트 또는 원클릭 진단을 부탁드립니다.해당 방법을 통해서도 접속이 불가한 경우 네이버쇼핑 고객센터로 문의 부탁드립니다.적용된 코드 입니다;차단 원인과 해결방법 도와주세요~~감사합니다from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from PySide6.QtWidgets import QApplication,QWidget from nShopping_c_ui import Ui_Form import requests import sys import time from bs4 import BeautifulSoup import pandas as pd from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC class MainWindow_c2(QWidget,Ui_Form): def __init__(self): super().__init__() self.setupUi(self) self.start_btn.clicked.connect(self.start) self.reset_btn.clicked.connect(self.reset) self.save_btn.clicked.connect(self.save) self.quit_btn.clicked.connect(self.quit) def start(self): input_keyword=self.keyword.text() input_page=int(self.page.text()) self.result=[] # 적재창고 건설 # 크롬 드라이버 생성 self.driver=webdriver.Chrome() for i in range(1, input_page+1): self.textBrowser.append(f'{i}페이지 크롤링...') self.driver.get(f"https://search.shopping.naver.com/search/all?adQuery={input_keyword}&origQuery={input_keyword}&pagingIndex={i}&pagingSize=40&productSet=total&query={input_keyword}&sort=rel×tamp=&viewType=list") #스크롤 전 높이 확인 last_height=self.driver.execute_script("return document.body.scrollHeight") while True: #스크롤 끝까지 내리기 self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight)") #잠시대기 time.sleep(2) # 스크롤 후 높이 new_height=self.driver.execute_script("return document.body.scrollHeight") # 비교(if, break) if new_height==last_height: break # 스크롤 전 높이 업데이트 last_height=new_height html=self.driver.page_source soup=BeautifulSoup(html,'html.parser') #나무태그 찾기 items=soup.select(".product_item__MDtDF") for item in items: # 각 아이템에서 제목과 링크 추출 name=item.select_one(".product_title__Mmw2K>a").text link=item.select_one(".product_title__Mmw2K>a").attrs['href'] self.textBrowser.append(name) self.result.append([name, link]) QApplication.processEvents() time.sleep(2) self.textBrowser.append('크롤링 완료...') def reset(self): self.textBrowser.setText("") self.keyword.setText("") self.page.setText("") def save(self): input_keyword=self.keyword.text() df=pd.DataFrame(self.result,columns=['제목','링크']) df.to_excel(f'{input_keyword}_d.xlsx') def quit(self): self.driver.quit() # 크롬 드라이버 종료 sys.exit() app=QApplication() window=MainWindow_c2() window.show() sys.exit(app.exec())
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
주피터 노트북 결과가 안나옵니다.
css selector 사용해서 크롤링하기 1 강의도중에 아래와같이 작성후 run 실행시켜도 결과가 안나오고 아무런 반응이없습니다.에러도 안뜨고 보시다싶이 다른셀 실행되는것도 없는데 이런문제는 어덯게 해결하나요?