월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결이것이 진짜 크롤링이다 - 실전편
도무지 안 되네요..ㅠㅠ
import requests from bs4 import BeautifulSoup import pyautogui import pyautogui as pg header = {'User-agent': 'Mozilla/2.0'} seoData = pyautogui.prompt('검색어를 입력해라') response = requests.get(f"https://search.naver.com/search.naver?where=news&sm=tab_jum&query= {seoData}", headers=header) html = response.text soup = BeautifulSoup(html, 'html.parser') articles = soup.select("div.info_group") #뉴스 기사 div 10개 추출 #print(articles[0].attrs('href')) for article in articles: links = article.select("a.info") #리스트 if len(links) >= 2: #링크가 2개 이상이면 url = links[1].attrs('href') #두번째 링크의 href 추출 print(url) 코드를 이렇게 짰는데요.. 강의와 같이 한 것 같은데 실행하면 Traceback (most recent call last): File "c:\Users\movie\OneDrive\pythonStudy\startCoding\셀레니움\네이버연습\삼성전자네이버뉴스.py", line 19, in <module> url = links[1].attrs('href') #두번째 링크의 href 추출 TypeError: 'dict' object is not callable 이런 에러가 나오면서 url을 제대로 읽어오지 못합니다. 코드에 문제가 없는 것 같은데 해결 방법이 있을까요?ㅜㅜ
- 미해결이것이 진짜 크롤링이다 - 실전편
뉴스 본문 크롤링
안녕하세요!! 이전 질문에 이어서 알려주신 방법을 활용하여 다음 뉴스 url크롤링까지는 성공했는데 뉴스 본문의 css선택자가 네이버와는 다르게 구성되어 있어 본문이 크롤링 되지 않습니다ㅠ 질문 드리기 전에 이방법 저방법 다 해봤는데 몇 시간째 계속 오류만 떠서 머리에 쥐가 날 것 같습니다ㅠ 코드는 아래와 같습니다. import requests from bs4 import BeautifulSoup response = requests.get("https://news.daum.net/breakingnews/politics") html = response.text soup = BeautifulSoup(html, "html.parser") articles = soup.select("div.cont_thumb") # 뉴스 기사 div 10개 추출 for article in articles: links = article.select("a.link_txt") url = links[0].attrs['href'] response = requests.get(url, headers={'User-Agent' : 'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, 'html.parser') #print(url) content = soup.select_one('#mArticle > #harmonyContainer > section') print(content.text)
- 미해결이것이 진짜 크롤링이다 - 실전편
MissingSchema오류
안녕하세요. 덕분에 열심히 공부하고 있습니다. 알려주신 방법을 활용해서 다음뉴스 본문 크롤링을 시도하고 있습니다. for article로 했을 때 url도 가져와지지 않아 url 가져오기는 성공했던 for link 방법으로 url목록을 가져온 후 다시 request를 해서 soup를 프린트해봤는데 html정보를 모두 가져오지 않고, 아래와 같은 오류가 발생합니다. 코드는 오류 아래 붙여넣었습니다. 답변주시면 정말 감사드리겠습니다!! line 16, in <module> response = requests.get(url, headers={'User-agent':'Mozila/5.0'}) File "C:\ProgramData\Anaconda3\lib\site-packages\requests\api.py", line 76, in get return request('get', url, params=params, **kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\requests\api.py", line 61, in request return session.request(method=method, url=url, **kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\requests\sessions.py", line 516, in request prep = self.prepare_request(req) File "C:\ProgramData\Anaconda3\lib\site-packages\requests\sessions.py", line 449, in prepare_request p.prepare( File "C:\ProgramData\Anaconda3\lib\site-packages\requests\models.py", line 314, in prepare self.prepare_url(url, params) File "C:\ProgramData\Anaconda3\lib\site-packages\requests\models.py", line 388, in prepare_url raise MissingSchema(error) requests.exceptions.MissingSchema: Invalid URL '/breakingnews/politics': No schema supplied. Perhaps you meant http:///breakingnews/politics? import requests from bs4 import BeautifulSoup response = requests.get("https://news.daum.net/breakingnews/politics") html = response.text soup = BeautifulSoup(html, "html.parser") links = soup.select("a.link_txt") articles = soup.select("div.cont_thumb") # 뉴스 기사 div 10개 추출 for link in links: title = link.text #태그 안에 텍스트 요소를 가져온다 # print(title) url = link.attrs['href'] #href의 속성값을 가져온다 #print(title,url) #print(url) response = requests.get(url, headers={'User-agent':'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, "html.parser") print(soup)
- 미해결이것이 진짜 크롤링이다 - 실전편
크롬이 자동화된 테스트 소프트웨어에 의해 제어되고있습니다
크롬이 자동화된 테스트 소프트웨어 에의해 제어되고 있습니다 라고 뜨면서 창이 꺼집니다 잘되고 로그인까지 되고다른싸이트도 문제없이되는데 바로꺼지네요 구글에 찾아서 코드 복붙해봐도 잘안되네요 방법이 없을까요
- 미해결이것이 진짜 크롤링이다 - 실전편
list 데이터를 하나의 셀에 입력 할 수 있나요?
위 강의를 보고 응용해보고자 하는중인데 아래 코드와 같이 작업하여 A1하나의 셀에 cmt 데이터를 다 넣고 싶은데 A1, A2, A3 이렇게 입력이 됩니다. 어떻게 방법이 없을까요? rom pickle import APPEND from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager # 크롬 드라이버 자동 업데이트 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 requests, openpyxl, time, pyautogui # 브라우저 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option("detach", True) #chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) # 불필요한 에러 메세지 없애기 # 셀레니움 드라이버 세팅 service = Service(executable_path=ChromeDriverManager().install()) browser = webdriver.Chrome(service=service,options=chrome_options) wb = openpyxl.Workbook() ws = wb.active ws.append(['이미지','순번', '시즌', '스타일', '컬러', '스타일명', '택가', '판매가', '선호도', '상품설명', '혼용률', '제조년월','URL']) ws.column_dimensions['A'].width = 5 ws.column_dimensions['B'].width = 5 ws.column_dimensions['C'].width = 5 ws.column_dimensions['D'].width = 15 ws.column_dimensions['E'].width = 10 ws.column_dimensions['F'].width = 30 ws.column_dimensions['G'].width = 10 ws.column_dimensions['H'].width = 10 ws.column_dimensions['I'].width = 10 ws.column_dimensions['J'].width = 10 ws.column_dimensions['k'].width = 10 ws.column_dimensions['l'].width = 10 ws.column_dimensions['m'].width = 10 browser.implicitly_wait(5) # 웹페이지가 로딩 될때까지 5초는 기다림 browser.maximize_window() # 화면 최대화 url = f"https://www.creasmall.com/display/category/goods/list/form?brandGrpNo=0&cateGb=G032_101&cate1No=1200" browser.get(url) # 주소 이동 browser.execute_script("location.reload()") browser.find_element(By.CSS_SELECTOR, f'#contents > div > section.filter-item-wrap > div:nth-child(2) > a').click() browser.find_element(By.CSS_SELECTOR, f'#contents > div > section.filter-item-wrap > div:nth-child(2) > div > ul > li:nth-child(3) > a > span').click() time.sleep(0.1) browser.find_element(By.CSS_SELECTOR, f'#contents > div > section.filter-item-wrap > div:nth-child(1) > a').click() browser.find_element(By.CSS_SELECTOR, f'#cy1201 > span').click() time.sleep(0.1) items = browser.find_elements(By.CSS_SELECTOR, '#goodsArea > li >a') for i, item in enumerate(items, 1): if i >= 31 and i <= 31: time.sleep(0.1) browser.find_element(By.CSS_SELECTOR, f'#goodsArea > li:nth-child({i}) > a').click() time.sleep(0.1) comments = browser.find_elements(By.CSS_SELECTOR, '#reviewDiv > div.review-list-wrap > ul > li > div > a > div.cdesc') for comment in comments: cmt = comment.text ws.append([cmt]) wb.save('dd3sdf33dk.xlsx') browser.quit()
- 미해결이것이 진짜 크롤링이다 - 실전편
첫페이지 크롤링에서 For 문까지는 작동이 되네요. 그러나
for 문 내의 soup 를 출력하면 작동이 되는데. 그이후 select_one 을 써서 브랜드 상품명 가격등을 변수에 넣고 출력하면 터미널이 그냥 멈춰 버립니다. from itertools import product import requests from bs4 import BeautifulSoup main_url = "https://www.coupang.com/np/search?component=&q=%EA%B2%8C%EC%9D%B4%EB%B0%8D+%EB%A7%88%EC%9A%B0%EC%8A%A4" #헤더에 유저에이전트 추가 response = requests.get(main_url, headers={'User-Agent' : 'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, 'html.parser') links = soup.select("a.search-product-link") #print(links) for link in links : sub_url = "https://www.coupang.com/" + link.attrs['href'] response = requests.get(sub_url, headers={'User-Agent' : 'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, 'html.parser') # print(soup).text #브랜드명 # brand_name = soup.select_one("a.prod-brand-name").text # #상품명 # product_name = soup.select_one("h2.prod-buy-header__title").text # #가격 product_price = soup.select_one("span.total-price > strong") # print(brand_name, product_name ,product_price) print(product_price) 결과물은 Microsoft Windows [Version 10.0.22000.556] (c) Microsoft Corporation. All rights reserved. D:\python\startcoding>C:/Users/iam6e/AppData/Local/Programs/Python/Python310/python.exe "d:/python/startcoding/실전편/03.쿠팡크롤링/01_첫번째 페이지 크롤링.py" 이렇게 그냥 아무것도 동작하지 않고 터미널을 닫아야만 해요 ㅠㅜㅜ 어떻게 해야 할까요?
- 해결됨이것이 진짜 크롤링이다 - 실전편
lin 디버깅에 대한 확장자가 없습니다.
왼쪽 파일 편집기 쪽에 파란창으로 되지도 않고 import쪽에 컬러도 먹지 않습니다. 그래서 그런지 실행이 되지 않습니다.
- 미해결이것이 진짜 크롤링이다 - 실전편
첫페이지 크롤링 이 안되네요.
쿠팡 첫페이지 크롤링이 안됩니다. ㅜㅜ 이건 어떻게 해결을 해야 할까요? 오류 메세지 조차 안나오고 멈춰버려요 ㅠㅜ 터미널에서 확인했을때 커서만 깜빡이고 진행을 안합니다.ㅡㅜ from itertools import product import requests from bs4 import BeautifulSoup main_url = "https://www.coupang.com/np/search?component=&q=%EA%B2%8C%EC%9D%B4%EB%B0%8D+%EB%A7%88%EC%9A%B0%EC%8A%A4" #헤더에 유저에이전트 추가 response = requests.get(main_url, headers={'User-Agent' : 'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, 'html.parser') links = soup.select("a.search-product-link") #print(links) for link in links : sub_url = "https://www.coupang.com/" + link.attrs['href'] response = requests.get(sub_url, headers={'User-Agent' : 'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, 'html.parser') #브랜드명 brand_name = soup.select_one("a.prod-brand-name").text #상품명 product_name = soup.select_one("h2.prod-buy-header__title").text #가격 product_price = soup.select_one("span.total-price > strong").text print(brand_name, product_name ,product_price)
- 미해결이것이 진짜 크롤링이다 - 실전편
안녕하세요 그저께 까지 만 해도 잘되던게...
갑자기 일반 뉴스 만 크롤링을 하지 못하네요. 제가 테스트 해본결과 일반 뉴스만 못가지고 오는데 코드를 확인해보니 달라진게 없는거 같은데. 코드 한번 봐주시기 발바니다. import requests from bs4 import BeautifulSoup import time import pyautogui #사용자 입력 keyword = pyautogui.prompt("검색어를 입력해주세요") lsatpage = int(pyautogui.prompt("몇페이지 까지 크롤링 할까요?")) page_num = 1 for i in range(1, lsatpage * 10, 10): print(f".==========================={page_num}페이지를 가지고 오는 중입니다.===========================") response = requests.get(f"https://search.naver.com/search.naver?where=news&sm=tab_jum&query={keyword}") html = response.text soup = BeautifulSoup(html,'html.parser') articles = soup.select("div.news_info") # 뉴스기사 디브 10개 추출 for article in articles: links = article.select("a.info") # 링크만 가지고 오기 a 태그 안에 info추출 if len(links) >= 2: #링크를 len 함수로 세어주고 2개보다 많으면 url = links[1].attrs['href'] # 링크중 2번째 것을 선택 # print(url) response = requests.get(url, headers={'User-agent':'mozila/5.0'}) html = response.text # print(html) soup = BeautifulSoup(html, 'html.parser') # print(soup) #만약 연예뉴스라면 if "entertain" in response.url: title = soup.select_one(".end_tit") #네이버 뉴스 첫뻔재링크 contant = soup.select_one("#articeBody") elif "sports" in response.url: #리스폰스 변수에 있는 유알엘중 스포츠스가 있으면 title = soup.select_one("h4.title") contant = soup.select_one("#newsEndContents") divs = contant.select("div") #본문에 불필요한 dvi p 삭제 for div in divs: div.decompose() #decompose 는 없애주는 함수 ps = contant.select("p") for p in ps: p.decompose() else: title = soup.select_one("#articleTitle") #신문사 뉴스 두번째링크 contant = soup.select_one("#articleBodyContents") print("==========링크========\n", url) print("==========제목========\n", title.text.strip()) #strip 함수는 공백을 없애는 거임 print("==========본문========\n", contant.text.strip()) time.sleep(0.3) page_num = page_num + 1
- 미해결이것이 진짜 크롤링이다 - 실전편
크롤링되다가 멈춥니다.
이전 글에서 수강생 분이 작성한 바와 같이 terminal 자체가 멈춥니다. 아래는 코드 캡쳐본 입니다. Print(url)만 하면 2번째 사진과 같이 뜨는데, for 문 부터 실행을 시키면 terminal에 깜빡임이나 오류 메세지 없이 그냥 멈춰버립니다.
- 미해결이것이 진짜 크롤링이다 - 실전편
적힌대로 해보고 있는데 크롤링 되다가 멈춥니다.
강의보고 따라하고 있는데 크롤링이 진행되다가 멈추네요 먼저 브랜드 내임만 가져와서 코드가 정상적으로 작동하고 있는지 출력해보았는데 아래와같이 결과가 나오다가 멈추고 정상적으로 작동하면 입력커서가 다시 깜박이어야 하는데 그런것도 없이 멈춰버립니다. 홈플래닛 로지텍 샤오미 홈플래닛 PYHO 샤오미 코시 import requests from bs4 import BeautifulSoup main_url = 'https://www.coupang.com/np/search?component=&q=%EB%A7%88%EC%9A%B0%EC%8A%A4&channel=user' response = requests.get(main_url, headers={'User_Agent' : 'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, 'html.parser') links = soup.select("a.search-product-link") for link in links: sub_url = "https://www.coupang.com/" + link.attrs['href'] response = requests.get(sub_url, headers={'User_Agent' : 'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, 'html.parser') brand_name = soup.select_one("a.prod-brand-name").text print(brand_name)
- 미해결이것이 진짜 크롤링이다 - 실전편
네트워크프레임에서 주소를 가져오는 이유에 대해서 알려주세요
기존처럼 주소 입력청애서 가져오지 않고 네트워크에서 가져오는 이유가 궁금합니다 이런 방법을 사용해여하는 케이스에 대해서도 알려주시면 감사하겠습니다.
- 미해결이것이 진짜 크롤링이다 - 실전편
로그인 후 url 가져오기 실패
제가 연습삼아 관심을 가지고 있는 사이트에 자동로그인을 했습니다. 그 후 내용을 가져오려니 아래와 같이 오류가 뜹니다. 이건 어떤 경우일까요?
- 미해결이것이 진짜 크롤링이다 - 실전편
i의 값에 따라서 다른 태그로 가져오는게 이해가 잘 안됩니다
i값에 따라서 target 값의 리스트중에 0번과 1번을 불러오는부분에서 i값은 전체 고양이 섬네일 이미지 갯수의 숫자 일탠데 2번째 고양이 이미지부터는 i가 2,3,4,..... 이렇게 반환되는거 아닌가요? 반대로 i가 고양이 섬네일 이미지 안에서의 큰 이미지 태그의 갯수라면 마지막에 파일 이미지명은 어떻게 순차적으로 1, 2, 3, 4, .... 이렇게 나오는거죠?
- 미해결이것이 진짜 크롤링이다 - 실전편
네이버 지도 맛집 자료 수집하기 오류
안녕하세요 네이버 맛집 Data 수집 크롤링 오류 문의 드립니다. 크롬이 실행되고, 이후 마우스 스크롤까지는 잘 되지만 이후 부터는 지연이되다가 나중에는 오류를 출력하고 있는데... 한번 확인부탁드립니다.ㅠ 정말 잘 진도 나가다 오류로 여려 구글링 해도 잘 안되네요! ■ 실행코드 from selenium import webdriver from selenium.webdriver.common.keys import Keys import time url = "https://map.naver.com/v5/" browser = webdriver.Chrome("C:\startcoding\chromedriver_win32333333333333\chromedriver.exe") browser.implicitly_wait(10) browser.maximize_window() browser.get(url) #검색창 입력 search = browser.find_element_by_css_selector("input.input_search") search.click() time.sleep(1) search.send_keys("강남역 맛집") time.sleep(1) search.send_keys(Keys.ENTER) time.sleep(2) # iframe인 경우 그 안으로 들어가야 한다 browser.switch_to.frame("searchIframe") # browser.switch_to.default_content() frame 밖으로 나오기 # ifram 안쪽을 한번 클릭하기 browser.find_element_by_css_selector("#_pcmap_list_scroll_container").click() # 로딩된 데이터 갯수 확인 lis = browser.find_elements_by_css_selector("li._1EKsQ") # elements 여서 리스트 형태로 [] 로 출력된다 before_len = len(lis) while True: # 맨아래로 스크롤 내린다 browser.find_element_by_css_selector("body").send_keys(Keys.END) # 스크롤 사이 시간 time.sleep(1) # 스크롤 후 로딩 된 리스트 갯수 확인 lis = browser.find_elements_by_css_selector("li._1EKsQ") after_len = len(lis) # 로딩된 데이터 개수가 같다면 반복을 멈춤 if before_len == after_len: break after_len = before_len # 데이터 기다리는 시간을 0으로만들어 준다(데이터가 없더라도 빨리 넘아검) browser.implicitly_wait(0) for li in lis: # 별점이 있는 것만 if len(li.find_elements_by_css_selector("span._2FqTn._1mRAM > em")) >0: # elements 이므로 리스트 형태를 감안해서 찾는다 있으면 [em] 1로 없으면 [0] 0임 # 가게명 name = li.find_element_by_css_selector("span.OXiLu").text # 별점 star = li.find_element_by_css_selector("span._2FqTn._1mRAM > em").text print(name, star) # 영업시간이 있다면 if len(li.find_elements_by_css_selector("span._2FqTn._4DbfT")) > 0: # 영업시간이 있는 것으므로 리스트가 1개가 있다 # 방문자수 visit_review = li.find_element_by_css_selector("span._2FqTn:nth-child(3)").text # 블로그 리슈 blog_review = li.find_element_by_css_selector("span._2FqTn:nth-child(4)").text # 영업시간이 없다면 else : # 방문자수 visit_review = li.find_element_by_css_selector("span._2FqTn:nth-child(2)").text # 블로그 리슈 blog_review = li.find_element_by_css_selector("span._2FqTn:nth-child(3)").text print(name, star, visit_review, blog_review) ■ 오류코드 크롬 버전과 드라이버 버전도 맞춰서 하는데... 계속 스크롤 이후 멈추고 아래와 같은 오류가 생깁니다ㅠ [2612:14204:0411/103851.435:ERROR:util.cc(126)] Can't create base directory: C:\Program Files\Google\GoogleUpdater [18704:15884:0411/103951.246:ERROR:gpu_init.cc(446)] Passthrough is not supported, GL is disabled, ANGLE is Traceback (most recent call last): File "c:\startcoding\네이버지도크롤링\03.데이터수집.py", line 41, in <module> lis = browser.find_elements_by_css_selector("li._1EKsQ") File "C:\Users\hellonature\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 832, in find_elements_by_css_selector return self.find_elements(by=By.CSS_SELECTOR, value=css_selector) File "C:\Users\hellonature\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 1283, in find_elements return self.execute(Command.FIND_ELEMENTS, { File "C:\Users\hellonature\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 425, in execute self.error_handler.check_response(response) File "C:\Users\hellonature\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: chrome not reachable (Session info: chrome=100.0.4896.75) Stacktrace: Backtrace: Ordinal0 [0x01058BD3+2395091] Ordinal0 [0x00FEACA1+1944737] Ordinal0 [0x00EDCED0+839376] Ordinal0 [0x00ED1052+790610] Ordinal0 [0x00ED1888+792712] Ordinal0 [0x00ED3122+799010] Ordinal0 [0x00ECCA79+772729] Ordinal0 [0x00EDE380+844672] Ordinal0 [0x00F34542+1197378] Ordinal0 [0x00F249D6+1133014] Ordinal0 [0x00EFEF76+978806] Ordinal0 [0x00EFFE86+982662] GetHandleVerifier [0x0120C912+1719138] GetHandleVerifier [0x012BB2CD+2434333] GetHandleVerifier [0x010F4001+569937] GetHandleVerifier [0x010F3066+565942] Ordinal0 [0x00FF265B+1975899] Ordinal0 [0x00FF72A8+1995432] Ordinal0 [0x00FF7395+1995669] Ordinal0 [0x010002F1+2032369] BaseThreadInitThunk [0x7572FA29+25] RtlGetAppContainerNamedObjectPath [0x775C7A9E+286] RtlGetAppContainerNamedObjectPath [0x775C7A6E+238]
- 미해결이것이 진짜 크롤링이다 - 실전편
javascript 안의 URL은 어떻게 가져올 수 있을까요?
아래와 같은 HTML 문서에서 URL 이 javascript 로 구성되어 있을 경우 어떻게 가져올 수 있을까요? <span style="font-size:14px;color:#555;font-weight:bold"> <font onclick="location.href='proxy_view.php?id=1649543121&code=&stype=&stype_val=&photo=&nick=&area1=&area2=&age=&sex=a&sort1=ep_code&sort2=DESC&ids=&page=1'" style="font-size:14px;cursor:pointer">안녕하세요 ~~~~ </font></span> 도움 부탁 드립니다.
- 미해결이것이 진짜 크롤링이다 - 실전편
혹시 코드 다운 받는 곳은 없나요?
안녕하세요. 혹시 코드 다운 받는 곳은 없는지요?
- 미해결이것이 진짜 크롤링이다 - 실전편
send_keys 오류
send_keys 가 오류가 납니다. 한두달 정도까지는 오류가 나지 않았는데 오류가 납니다. 무슨 다른 방법이 있을까요?
- 미해결이것이 진짜 크롤링이다 - 실전편
이런 경우 ID 입력 하려고 id 입력 input 상자를 어떻게 클릭하나요?
F12 개발자 도구로 본 화면 입니다. ID/Password 입력하는 input 박스의 class 명이 동일합니다. 다만 name 이라는 이름으로 서로 다르긴 한데 이럴경우 selenium 에서ID/Pass 를 각각 클릭하려고 하는데 CSS선택자를 뭐로 해야 하는지요?
- 미해결이것이 진짜 크롤링이다 - 실전편
기본편에서도 질문을 햇는데 로그인이 제대로 되지 않아요.ㅡㅜ
안녕하세요 어제 기본편 듣고 바로 결제 했습니다. 그런데 기본편에서도 질문드렸는데..ㅡㅜ 네이버 로그인이 되지 않아요...ㅜㅜ 뭐가 문제일까요? 코드 올려드릴께용 ㅜㅜ 결과물 이미지 입니당. 코드 입니다. import logging from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By #크롬 드라이버 자동 업데이트 from webdriver_manager.chrome import ChromeDriverManager import time import pyautogui import pyperclip #브라우저 꺼짐 방지 cheome_options = Options() cheome_options.add_experimental_option("detach",True) # 불필요한 에러 메세지 없애기 cheome_options.add_experimental_option("excludeSwitches",["enable-logging"]) service = Service(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=cheome_options) #웹페이지 이동 driver.implicitly_wait(5) driver.maximize_window() driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https%3A%2F%2Fwww.naver.com") #아이디 id = driver.find_element(By.CSS_SELECTOR,"#id") id.click pyperclip.copy("abcdefg") pyautogui.hotkey("ctrl", "v") time.sleep(5) #비밀번호 입력 pw = driver.find_element(By.CSS_SELECTOR,"#pw") pw.click pyperclip.copy("1234567") pyautogui.hotkey("ctrl", "v") time.sleep(2) #로그인버튼누르기 login_btn = driver.find_element(By.CSS_SELECTOR,"#log\.login") login_btn.click