게시글
질문&답변
2024.02.07
PYQT5-sip 에러
위 글과 관련이 없을 수 있지만...저도 설치에러가 나서 해결했습니다.그러나 이글은 설치 에러는 아니고 import 에러네요.다음은 참고로 올립니다.ERROR: Could not install packages due to an OSError이것은 관리자 권한으로 컴멘드를 실행하여 명령을 실행하라는 뜻입니다. 설치중error: Microsoft Visual C++ 14.0 or greater is required.이런 문구가 나오면...C++를 설치해 주시면 됩니다.https://visualstudio.microsoft.com/visual-cpp-build-tools/
- 0
- 2
- 4.4K
고민있어요
2023.03.06 00:17
time.sleep(1) 이것 업청 중요 하군요.
- 1
- 1
- 718
질문&답변
2023.03.01
광고상품 외 표기 문의드립니다.
badge rocket이렇게 이름 사이에 공백이 있으면 2개이고,bage_rocket 이나 bageRocket 이런식으로 공백없이 연결되어 있으면 1개입니다. 사과를 왜 사과라고 하지 감이라고 하면 안되나? 하고 이유를 생각하지 않듯이 이것은 약속입니다. 공백이 있으면 공백을 기준으로 나누어서 2개라고 생각하면 됩니다.만약,class='badge rocket star'이런식으로 되어 있다면 2개의 공백으로 택스트가 나누어져 있기 때문에 3개입니다. 약속은 이해하는 것이 아니라 외우는 것입니다.
- 2
- 2
- 346
질문&답변
2023.02.28
유튜브 크롤링/키워드 별 크롤링 방법에서 에러발생합니다.
views = info.select_one("div#metadata-line > span:nth-of-type(1)").text date = info.select_one("div#metadata-line > span:nth-of-type(2)").text감사합니다. ^^해보니 잘됩니다.
- 1
- 3
- 847
질문&답변
2023.02.27
유튜브 크롤링/키워드 별 크롤링 방법에서 에러발생합니다.
# 조회수 views_date = info.select_one("div#metadata-line").text.split("•")[1].strip().replace("조회수 ", "") views = "조회수 " + views_date.split("회")[0] + "회" # 날짜 date = views_date.split("회")[1]이렇게 해서 해결했습니다.
- 1
- 3
- 847
질문&답변
2023.02.20
연애 뉴스 크롤링 8:52 부터 막힙니다
2023.02.20.월 현제 #articeBody가 맞네요.저는 아이디와 클래스이름이 바뀌어서다른 것으로 했는데요. 클래스를 .클래스명으로 해야 하는데, #클래스명으로해서 결과가'NoneType' object has no attribute 'text'이렇게 나와서 반나절을 왜 안되나 하고 원인을 찾았습니다.클래스는 .아이디는 #이것부터 확인해야 겠습니다.
- 2
- 3
- 525
질문&답변
2023.02.19
원본 소스 부탁 드립니다.
from selenium import webdriver # from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time import pyautogui import pyperclip # 크롬 드라이버 자동 업데이트 # from webdriver_manager.chrome import ChromeDriverManager # 브라우저 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option("detach", True) # 불필요한 에러 메시지 없애기 chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) # service = Service(executable_path=ChromeDriverManager().install()) # 최신 드라이버를 자동으로 설치 # driver = webdriver.Chrome(service=service) driver = webdriver.Chrome(options=chrome_options) driver.implicitly_wait(5) # 웹페이지가 로딩될때까지 5초 기다림 driver.maximize_window() # 화면 최대화 # 웹페이지 열기 url = "https://nid.naver.com/nidlogin.login?mode=form&url=https%3A%2F%2Fwww.naver.com" driver.get(url) # 처음 실행시 시간이 좀 걸림(다운로드+설치) # 아이디 입력창 id = driver.find_element(By.CSS_SELECTOR, "#id") id.click() # id.send_keys("아이디") pyperclip.copy("id1234") pyautogui.hotkey("ctrl", "v") time.sleep(2) # 비밀번호 입력창 pw = driver.find_element(By.CSS_SELECTOR, "#pw") pw.click() # pw.send_keys("비밀번호") pyperclip.copy("pw1234") pyautogui.hotkey("ctrl", "v") time.sleep(2) # log.login login_btn = driver.find_element(By.CSS_SELECTOR, "#log\.login") # \. : 이스케이프 문자 login_btn.click() 네이버 자동 로그인 된 부분까지의 코드입니다.크롬웹드라이버 자동 업데이트 부분은 강의와 같이 하지 않아도 되게 바뀐 것 같아서 주석처리했습니다. 위 코드대로 해서 그런지...뒤에 강의 진행중 크롬 드라이버 버젼이 맞지 않다는 메시지가 뜨게 되는 것 같습니다. 그런 경우... 다음 자동 업데이트 코드를 실행해 보시기 바랍니다.from selenium import webdriver import chromedriver_autoinstaller # pip install chromedriver-autoinstaller chromedriver_autoinstaller.install() driver = webdriver.Chrome() driver.implicitly_wait(5) driver.get("https://www.naver.com/")위 코드 실행시 ConnectionRefusedError가 뜨는 경우 VSCode 편집기를 껏다가 다시 실행하면 해결되었습니다. 아마 드라이버 설치중 접속을 해서 에러가 나는 경우인 것 같습니다.
- 1
- 2
- 409
질문&답변
2023.02.19
다음과 같은 error가 나는데 원인을 못찾겠네요..
from selenium import webdriver # from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time import pyautogui import pyperclip # 크롬 드라이버 자동 업데이트 # from webdriver_manager.chrome import ChromeDriverManager # 브라우저 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option("detach", True) # 불필요한 에러 메시지 없애기 chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) # service = Service(executable_path=ChromeDriverManager().install()) # 최신 드라이버를 자동으로 설치 # driver = webdriver.Chrome(service=service) driver = webdriver.Chrome(options=chrome_options) driver.implicitly_wait(5) # 웹페이지가 로딩될때까지 5초 기다림 driver.maximize_window() # 화면 최대화 # 웹페이지 열기 url = "https://nid.naver.com/nidlogin.login?mode=form&url=https%3A%2F%2Fwww.naver.com" driver.get(url) # 처음 실행시 시간이 좀 걸림(다운로드+설치) # 아이디 입력창 id = driver.find_element(By.CSS_SELECTOR, "#id") id.click() # id.send_keys("아이디") pyperclip.copy("id1234") pyautogui.hotkey("ctrl", "v") time.sleep(2) # 비밀번호 입력창 pw = driver.find_element(By.CSS_SELECTOR, "#pw") pw.click() # pw.send_keys("비밀번호") pyperclip.copy("pw1234") pyautogui.hotkey("ctrl", "v") time.sleep(2) # log.login login_btn = driver.find_element(By.CSS_SELECTOR, "#log\.login") # \. : 이스케이프 문자 login_btn.click()
- 1
- 2
- 2.1K
질문&답변
2023.02.19
선생님 검색창 클릭을 못해요 ㅠ
import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import csv browser = webdriver.Firefox() # firefox 브라우저를 먼저 설치해야 줘야 작동함 browser.implicitly_wait(10) # 페이지가 로딩될 때까지 최대 10초까지 기다려줌 browser.get("https://www.naver.com") # 쇼핑메뉴 클릭 browser.find_element(By.CSS_SELECTOR, 'a.nav.shop').click() time.sleep(2) # 검색창 클릭 search = browser.find_element(By.CSS_SELECTOR, 'input._searchInput_search_text_fSuJ6') search.click() # 검색어 입력 search.send_keys('아이폰 13') search.send_keys(Keys.ENTER) # enter 입력 time.sleep(1) # 스크롤 전 높이 before_h = browser.execute_script("return window.scrollY") # 무한 스크롤 while True: # 맨 아래로 스크롤 내린다. browser.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END) # End키 # 스크롤 사이 페이지 로딩 시간 time.sleep(1) # 스크롤 후 높이 after_h = browser.execute_script("return window.scrollY") if after_h == before_h: break before_h = after_h # 파일 만들기(csv) f = open(r"D:\python_Workspace\crawling\startCoding_crawling\03_네이버_쇼핑_크롤링\data.csv", "w", encoding='cp949', newline='') csvWriter = csv.writer(f) # 상품 정보 div items = browser.find_elements(By.CSS_SELECTOR, ".basicList_info_area__TWvzp") for item in items: name = item.find_element(By.CSS_SELECTOR, ".basicList_title__VfX3c").text try: price = item.find_element(By.CSS_SELECTOR, ".price_num__S2p_v").text # 판매중지된 것 있음 except: price = "판매중단" link = item.find_element(By.CSS_SELECTOR, ".basicList_title__VfX3c > a").get_attribute('href') print("\n" + name, price, link) csvWriter.writerow([name, price, link]) # 데이터 쓰기
- 1
- 2
- 442
질문&답변
2023.02.19
Exception has occurred: SSLError 이런 에러가 발생합니다.
이 에러때문에 반나절동안 검색한 것 같습니다.원인은 아나콘다 이슈가 아닌가 생각됩니다.검색해보니 저와 같은 에러로 5일전에 이슈를 제기했네요.그래서 아나콘다 가상환경이 아닌...파이썬 자체적으로 제공하는 가상환경을 만들고 코드를 실행하니 에러가 발생하지 않았습니다. 참고 바랍니다.
- 0
- 1
- 1.7K