묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
영상보면 크롬에서 자동화 메세지 안나오는 옵션을 입력한 상태인데, 메세지가 나오고 있습니다.
자동화 메세지 안나오는 코드 입력후options.add_experimental_option('excludeSwitches', ['enable-automation'])크롬을 실행하면, 자동화 메세지지가 안나옵니다. 그러나1분 58초 입니다.크롬에서 오류 메세지 안보내는, 코드를 입력하면자동화 메세지가 출력됩니다options.add_experimental_option('excludeSwitches', ['enable-logging']) 즉자동화 메세지 안나오는 코드 입력상태 이고오류 메세지 안나오는 코드 입력상태 인데위 두가지 조건을 입력하면자동화 메세지가 안나오고 and 오류 메세지도 안나와야 하는데..오류 메세지는 나오지만, 자동화 메세지가 출력됩니다. 그래서 영상을 돌려보니, 선생님 강의 영상에서도 똑같은 증상이 나오고 있습니다!아래는 선생님강의 영상 캡쳐 입니다제 생각에는add_experimental_option은 아래에 있는 코드가 적용되는게 아닐까 추측되네요. 저도 초보이지만, 저보다 늦게 공부하시는 분을 위해 남겨 둡니다.저처럼 고민하시는 분들이 있으실수도 있으니까요
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
기초적인 질문 질드려요 vscode에서 clear 명령어 사용
강의 영상중에서 5분 27초 보면vscode 터미널 내용지울땐, 선생님께서clear 라는 입력하시고 엔터 누르시면, 터미널 내용이 사라집니다.저는 clear라고 하면, 'clear'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.위와 같이 나옵니다. 그래서 찾아보니, cls라고 하면 지워진다고 하는데,선생님처럼 clear 명령어를 사용하고 싶습니다. 선생님께서는 터미널 단축키를 수정하신건지아니면 다른 터미널을 사용하신건지 궁금합니다. 이게 간단한거 같으면서도, 검색으로는 더이상 알아낼수가 없네요 알려 주시면 감사하겠습니다.
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
귀신이 곡할 노릇입입니다ㅠㅠ , 셀렉터를 맞게 한거 같은데 안되네요 ㅠㅠ
블랙핑크 검색시 셀렉터손흥민 검색시 셀렉터즉 선생님 수업때와 다르게셀렉터가 둘다 똑같이 변경 되었습니다. import requests from bs4 import BeautifulSoup base_url = "https://search.naver.com/search.naver?where=view&sm=tab_jum&query=" keyword = input("검색어를 입력하세요 :") url = base_url + keyword # url = "https://search.naver.com/search.naver?where=view&sm=tab_jum&query=손흥민" headers = {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"} req = requests.get(url, headers=headers) soup = BeautifulSoup(req.text, 'html.parser') results = soup.select(".timeline_area") print(results) for res in results: # print(res.select_one('.sub_txt.sub_name').text) # print(res.select_one('.api_txt_lines.total_tit').text) # print(res.select_one('.api_txt_lines.total_tit').get('href')) print()그래서 위와같이 select 해서크롤링을 하면정말 너무 희안하게도"블랙핑크" : 크롤링 가능"손흥민" : 크롤링 불가능print(results) 해보면, 리스트가 비어있습니다. 그래서 제가 아래 이미지 처럼개발자 도구에서 select copy 를 이용해서도 해봤는데 크롤링이 안됩니다.도저히 제가 이해할수가 없고, 해결할수 없어서 질문 드립니다.도와주신다면 감사하겠습니다. ㅠㅠ
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
에러??
import os import openai openai.api_key = "내꺼 api key 가림" completion = openai.ChatCompletion.create( model = "gpt-3.5-turbo", messages=[{"role": "user", "connect": "Hello"}]) print(completion.choices[0].message) Traceback (most recent call last): File "C:\Users\82109\PycharmProjects\10.selenium_option\venv\openai_test.py", line 5, in <module> completion = openai.ChatCompletion.create( model = "gpt-3.5-turbo", messages=[{"role": "user", "connect": "Hello"}]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\82109\PycharmProjects\10.selenium_option\venv\Lib\site-packages\openai\api_resources\chat_completion.py", line 25, in create return super().create(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\82109\PycharmProjects\10.selenium_option\venv\Lib\site-packages\openai\api_resources\abstract\engine_api_resource.py", line 153, in create response, _, api_key = requestor.request( ^^^^^^^^^^^^^^^^^^ File "C:\Users\82109\PycharmProjects\10.selenium_option\venv\Lib\site-packages\openai\api_requestor.py", line 226, in request resp, got_stream = self._interpret_response(result, stream) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\82109\PycharmProjects\10.selenium_option\venv\Lib\site-packages\openai\api_requestor.py", line 620, in _interpret_response self._interpret_response_line( File "C:\Users\82109\PycharmProjects\10.selenium_option\venv\Lib\site-packages\openai\api_requestor.py", line 683, in _interpret_response_line raise self.handle_error_response( openai.error.InvalidRequestError: Additional properties are not allowed ('connect' was unexpected) - 'messages.0' Process finished with exit code 1 위는 에러 메시지 입니다.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
selenium 명령어 자동완성 안됨
vscode 사용하고 있습니다.코딩과 실행 모두 문제는 없으나selenium 관련 명령 입력할때는 김플님 강의화면과 달리 자동완성 기능이 작동하지 않습니다.예를 들어, options = Options()options.까지 입력하면 여러가지가 나오고 그 중 add_experimental_option 이 떠야되는데 그렇지 않아 매번 직접 타이핑하고 있습니다.해결방법이 있을까요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
다음 카페 크롤링
다음 카페 크롤링을 이 강의를 통해 하고 있습니다.다음 카페 로그인 및 해당 게시판 까지는 이동이 되는 데, 해당 글 내용에 대한 크롤링이 되지 않습니다(Xpath나 class를 이용해도 게시글이 클릭도 안되는데 그 이유가 궁급합니다.ㅠㅠ / )<a href="/_c21_/bbs_read?grpid=5RFF&fldid=Acvb&contentval=002Lizzzzzzzzzzzzzzzzzzzzzzzzz&datanum=9034&page=1&prev_page=0&firstbbsdepth=&lastbbsdepth=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz&listnum=20" class="txt_item">심한 자폐아이 </a>여기 안에 있는 내용을 가지고 오고 그 아래 부분의 글로 가지고 오려고 합니다...
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
손흥민 키워드를 입력하여도, 링크 생성안되는 현상
이전 질문에 대해서 너무나도 빠른 답변 감사합니다.해결되었습니다.어떻게 해결책을 찾으셨나요?쿠팡 part빼고 완강했는데, 다 들어보겠습니다.다른 질문이 있습니다.손흥민을 input값을 받아도 단순하게 더해서는 하이퍼링크된 url이 형성되지 않습니다.저는 quote_plus를 사용해서 해결했는데,강사님은 어떻게 해서 단순하게 더해서 하이퍼링크된 url이 완성될까요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
무비차트 모든 영화의 예매율, 개봉 날짜등 기타 정보 모두 가져오기 과정 중 질문입니다.
from bs4 import BeautifulSoup import requests url = "http://www.cgv.co.kr/movies/?lt=1&ft=0" headers = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36" } r = requests.get(url, headers=headers).text soup = BeautifulSoup(r, "html.parser") charts = soup.select("div.sect-movie-chart > ol > li") print(len(charts)) # Output : 20 ?? for chart in charts: title = chart.select_one("strong.title").text percent = chart.select_one("strong.percent").get_text print(title) print(percent(" : "))무비차트 페이지에 보여지는 갯수도 19개고, 개발자 도구에서 li를 세어봐도 19개인데len()으로 보면 20개가 나오고, for 문으로 코드를 실행시키면 19번째까지 제목과 예매율 출력하고 20번째에서 에러 문구가 발생합니다.어떤 부분을 찾아보면 될까요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
쿠팡 크롤링
강사님의 훌륭한 강의력에 감탄하며 쿠팡 크롤링을 제외한 부분은 다 들었습니다. 감사합니다.쿠팡 크롤링 파트에 질문이 있습니다.3월27일 기준으로 위 방법이 막힌것같습니다.다른 방법을 찾으려고 했지만, 셀레니움 밖에 찾지 못했습니다.뷰티풀숩을 이용한 해결책은 없나요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
실습내용 소스
타이핑해가면서 강의를 들어야 한다는건 알고있지만다리를 심하게 다쳐서 붓기 때문에 계속 누워있어야만해서.. 휴대폰으로 간신히 강의만 듣고있습니다.퇴원후에 바로 연습해보고싶은데혹시 실습내용 소스는 따로 제공하고 있지 않으신지요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
네이버뷰탭검색결과크롤링2 파트에서 질문입니다.
우선 강의대로 블랙핑크, 손흥민 검색했을때 강의처럼 결과가 잘 나옵니다.제가 다른 키워드인 '제휴마케팅'으로 검색하니 첨부한 사진과 같은 결과가 나왔습니다. 혹시나 중간에 네이버 파워컨텐츠 광고가 있어서 그런건가해서 개발자도구로 코드를 비교해봤는데 그건 아닌거같고, 원인을 아직 모르겠어서 질문남깁니다.(수업처럼 크롤링 결과는 잘 나오고 맨 마지막에 아래와 같은 문구가 나왔습니다). 그리고 print(len(areas))부분도 '제휴마케팅'으로 검색했을땐 나오지 않았구요.
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
셀레늄 실습중 문의
수업을 듣고 다른 사이트로 실습을 해보려고 하는데,jsp로 만들어진 공공기관 사이트는 뭔가 잘 안먹히는 모습니다.아래 사이트의 테이블 정보를 가져오고 싶은데, 얘네들은 클릭해도 주소가 변경되는것도 없고 아래와 같이 table이 들어있는 상위 class 태그를 찾아서 정의하고, 거기에서 table의 class명을 넣고 tbody, tr까지 찾아들어가도록 코딩을 했는데 table의 class명이 없다고 에러가 뜹니다.이런 사이트의 table내 정보는 어떻게 가져올 수 있고,테이블에 있는 원자재를 클릭해서 넘어가는 페이지는 어떻게 찾아갈 수 있나요?(XPATH, LINK_TEXT해도 먹히지 않아요..)https://www.motie.go.kr/motie/py/sa/todayeconomyindexprice/todayEconomyIndexPri.jsp url = "http://www.motie.go.kr/motie/py/sa/todayeconomyindexprice/todayEconomyIndexPri.jsp" driver.get(url) time.sleep(2) # driver.find_element(By.LINK_TEXT,"통계정보").click() # time.sleep(2) # driver.find_element(By.LINK_TEXT,"원자재가격정보") # time.sleep(2) class1 = driver.find_element(By.CLASS_NAME,"iframeLayout01") #테이블은 위와 같이 <table>안에 <tbody>, <tbdoy>안에 <tr>, <tr>안에 <td> 순으로 포함되어 있다. table_content = class1.find_element(By.CLASS_NAME,"data_print") tbody = table_content.find_element(By.TAG_NAME,"tbody") rows = tbody.find_elements(By.TAG_NAME,"tr") for index, value in enumerate(rows): body=value.find_elements(By.TAG_NAME,"td")[0] print(body.text)
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
멜론편 진행하고 있는데 배너 닫는 버튼이 안보이네요.
멜론편 진행하고 있는데 저는 상단에 배너가 떠서 강의 중 알려주신 대로 배너 닫는 버튼 클릭 추가하려고 하는데, 배너 닫는 버튼이 안보이네요.이런 경우는 어떻게 해야될까요?
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
셀레니움으로 네이버를 열고나서 갑자기 data;라는 주소로 바뀌고 내용이 사라집니다.
현재 코드는 아래와 같습니다.자꾸 에러뜨는게 있어서 구글링하면서 2줄이 추가되었네요.options = Options() ## ERROR:device_event_log_impl.cc(218) 방지코드 options.add_argument('--no-sandbox') options.add_experimental_option("excludeSwitches", ["enable-logging"]) ## 화면 창 유지해주는 코드 options.add_experimental_option("detach", True) 그런데, 네이버 창이 떠서 잠시 머물다가 창이 꺼지진 않고 이렇게 바뀝니다.주소가 data; 내용은없음..무엇이 문제일까요. 구글링해도 잘 못찾겠네요.
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
ImportError: cannot import name 'webdriver' from partially initialized module 'selenium' 에러
A 폴더 안에 있는 B폴더에서 셀레니움 실습하던게 있었는데, 여기서는 자동설치 코드로 실행이 잘 되는데요,A폴더 안에 C폴더에서 이번 강의들으면서 실행하려고 하니 아래 에러가 발생합니다..어떻게 해결해야하나요? (base) C:\Users\jyjcj\PycharmProjects\webcrawling>C:/Anaconda3/python.exe c:/Users/jyjcj/PycharmProjects/webcrawling/kimple_inflearn/selenium_exercise/selenium.pyTraceback (most recent call last): File "c:\Users\jyjcj\PycharmProjects\webcrawling\kimple_inflearn\selenium_exercise\selenium.py", line 14, in <module> from selenium import webdriver File "c:\Users\jyjcj\PycharmProjects\webcrawling\kimple_inflearn\selenium_exercise\selenium.py", line 14, in <module> from selenium import webdriverImportError: cannot import name 'webdriver' from partially initialized module 'selenium' (most likely due to a circular import) (c:\Users\jyjcj\PycharmProjects\webcrawling\kimple_inflearn\selenium_exercise\selenium.py)
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
검색어 입력 관련
연습삼아 나라장터의 상단 부분에 셀레니움을 통해 특정 검색어를 입력 후 검색을 실행 하려합니다관련하여, 해당페이지 접속 후 단순히 find.element를 통해 driver.find_element(By.ID,"AKCKwd").sendkeys("검색어")와같이 사용할 수는 없는 것 인지요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
개발자 모드에서 클래스 항목 갯수 찾는 부분은 어떻게 설정할 수 있나요?
이부분 설정을 어떻게 하는지 궁금합니다. 검색해도 못찾겠습니다~ㅠㅠ
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
셀레니움 강의 중 문의사항 입니다.
9~10강 셀레니움 강의 따라하다 보니 위와 같은게 뜨는데요. 왜 그러는 건지 알 수 있을까요?해결방법은 어떻게 되나요?
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
크롤링 로켓배송 제외
안녕하세요. 문의드립니다.쿠팡 로켓배송 크롤링강의를 보고 쿠팡 1~10(위에 빨간리본상품) 중 로켓배송상품, 광고상품을 빼고 상품의 이름을 가져오고 싶은데요. 강의 보고 어떻게 적용을 해야할지 해매고 있어 문의드립니다.초보라 모르는게 많네요. 도와주세요~
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
쿠팡 1강 실행, 에러문구
쿠팡 1강따라서 실행했는데 이렇게 에러가 나는데요. 어떻게 해야 할까요?import requests from bs4 import BeautifulSoupbase_url = "https://www.coupang.com/np/search?component=&q="keyword = input('검색할 상품을 입력하세요:')search_url = base_url + keyword print(search_url)headers = {'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'}cookie = {"a": "b"} req = requests.get(search_url, timeout=5, headers=headers, cookies=cookie)print(req.status_code) 결과: 검색할 상품을 입력하세요:모니터https:https://www.coupang.com/np/search?component=&q=모니터Traceback (most recent call last):File "d:\main3.py", line 17, in <module>req = requests.get(search_url, timeout=5, headers=headers, cookies=cookie)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^