inflearn logo
Khóa học

Khóa học

Chia sẻ kiến thức

Bài viết của expert7kr1332

expert7kr1332 expert7kr1332

@expert7kr1332

Số lượng đánh giá đã viết
3
Xếp hạng trung bình
5.0

Bài viết 11

Hỏi & Đáp

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/

Lượt thích
0
Số bình luận
2
Lượt xem
5449

Hỏi & Đáp

광고상품 외 표기 문의드립니다.

badge rocket 이렇게 이름 사이에 공백이 있으면 2개이고, bage_rocket 이나 bageRocket 이런식으로 공백없이 연결되어 있으면 1개입니다. 사과를 왜 사과라고 하지 감이라고 하면 안되나? 하고 이유를 생각하지 않듯이 이것은 약속입니다. 공백이 있으면 공백을 기준으로 나누어서 2개라고 생각하면 됩니다. 만약, class='badge rocket star' 이런식으로 되어 있다면 2개의 공백으로 택스트가 나누어져 있기 때문에 3개입니다. 약속은 이해하는 것이 아니라 외우는 것입니다.

Lượt thích
2
Số bình luận
2
Lượt xem
436

Hỏi & Đáp

유튜브 크롤링/키워드 별 크롤링 방법에서 에러발생합니다.

# 조회수 views_date = info.select_one("div#metadata-line").text.split("•")[1].strip().replace("조회수 ", "") views = "조회수 " + views_date.split("회")[0] + "회" # 날짜 date = views_date.split("회")[1] 이렇게 해서 해결했습니다.

Lượt thích
1
Số bình luận
3
Lượt xem
1005

Hỏi & Đáp

연애 뉴스 크롤링 8:52 부터 막힙니다

2023.02.20.월 현제 #articeBody가 맞네요. 저는 아이디와 클래스이름이 바뀌어서 다른 것으로 했는데요. 클래스를 .클래스명으로 해야 하는데, #클래스명으로해서 결과가 'NoneType' object has no attribute 'text' 이렇게 나와서 반나절을 왜 안되나 하고 원인을 찾았습니다. 클래스는 . 아이디는 # 이것부터 확인해야 겠습니다.

Lượt thích
2
Số bình luận
3
Lượt xem
664

Hỏi & Đáp

원본 소스 부탁 드립니다.

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 편집기를 껏다가 다시 실행하면 해결되었습니다. 아마 드라이버 설치중 접속을 해서 에러가 나는 경우인 것 같습니다.

Lượt thích
1
Số bình luận
2
Lượt xem
497

Hỏi & Đáp

다음과 같은 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()

Lượt thích
1
Số bình luận
2
Lượt xem
2248

Hỏi & Đáp

선생님 검색창 클릭을 못해요 ㅠ

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]) # 데이터 쓰기

Lượt thích
1
Số bình luận
2
Lượt xem
540

Hỏi & Đáp

Exception has occurred: SSLError 이런 에러가 발생합니다.

이 에러때문에 반나절동안 검색한 것 같습니다. 원인은 아나콘다 이슈가 아닌가 생각됩니다. 검색해보니 저와 같은 에러로 5일전에 이슈를 제기 했네요. 그래서 아나콘다 가상환경이 아닌... 파이썬 자체적으로 제공하는 가상환경을 만들고 코드를 실행하니 에러가 발생하지 않았습니다. 참고 바랍니다.

Lượt thích
0
Số bình luận
1
Lượt xem
2008