묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬 텍스트 분석 입문 - 데이터 수집부터 분석까지
tfidf 관련
안녕하세요, tfidf관련하여 오류가 발생하여 질문드립니다.csv파일로 뉴스를 토픽모델링하는 과정에서,csv 파일에 뉴스를 추가하면서 계속 토픽모델링을 진행하는 과정에서어느 순간에 아래처럼 오류가 발생합니다. 토픽모델링이 가능했었는데, 왜 자료를 추가하면 진행하면 어느 순간 해당 오류가 생기는지 알 수가 없어서 질문드립니다ㅠㅠ 좋은 강의해주셔서 감사합니다!UnicodeDecodeError Traceback (most recent call last) Cell In[127], line 2 1 vectorizer = TfidfVectorizer(tokenizer=tokenizer, max_df=0.90, min_df=100, max_features=20000) ----> 2 tfidf = vectorizer.fit_transform(topnews['text']).toarray() File c:\Users\My COM\AppData\Local\Programs\Python\Python310\lib\site-packages\sklearn\feature_extraction\text.py:2131, in TfidfVectorizer.fit_transform(self, raw_documents, y) 2124 self._check_params() 2125 self._tfidf = TfidfTransformer( 2126 norm=self.norm, 2127 use_idf=self.use_idf, 2128 smooth_idf=self.smooth_idf, 2129 sublinear_tf=self.sublinear_tf, 2130 ) -> 2131 X = super().fit_transform(raw_documents) 2132 self._tfidf.fit(X) 2133 # X is already a transformed view of raw_documents so 2134 # we set copy to False File c:\Users\My COM\AppData\Local\Programs\Python\Python310\lib\site-packages\sklearn\feature_extraction\text.py:1387, in CountVectorizer.fit_transform(self, raw_documents, y) 1379 warnings.warn( 1380 "Upper case characters found in" 1381 " vocabulary while 'lowercase'" 1382 " is True. These entries will not" 1383 " be matched with any documents" ... ---> 93 result = [(token.getMorph(), token.getPos()) for token in result] 95 if join: 96 result = ['{}/{}'.format(morph, pos) for morph, pos in result] UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position 0: invalid continuation byte
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
Chrome Network로 연결후 Packet 을 분석하는 방법
1.Chrome Network로 연결후에 Packet Network 분석하는 방법은 없을까요?Packet 툴로 잡히지 않는 것 같아서 다른 방법이 있나 문의드립니다. 2.문의사항이 있어 다른글에 남겨놓으신 카톡으로 연락을 드렸는데, 확인부탁드립니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
혹시 강의에서 코딩한 소스코드는 따로 제공은 안해시는지 궁금합니다.
강의 잘 듣고 있습니다. 혹시 강의에서 코딩한 소스코드는어디서 다운로드 받을수 있는지 궁금합니다~~
-
미해결파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)
네이버 웹툰을 활용한 BeautifulSoup 강좌에서 인터페이스가 달라졌습나다.
웹 크롤링을 하려 하니까 인터페이스가 완전히 갈아엎어져서 이거 뭐 어떻게 해야할지를 모르겠네요
-
해결됨파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
몇가지 문의사항이 있어서 올립니다
서두에 얘기하신 것처럼 찾기어려운 정보가 포함되어 있고, 도움이 많이 되었습니다.몇가지 문의사항이 있어서 올립니다.1.selenium 으로 정상작동했는데, undetected_chromedriver 로 바꾸면 사이즈가 굉장히 넓게 나오네요options.add_argument(f'--window-size=360,640')다른 소스는 동일하고 --window-size 도 동일하게 넣었는데, 이상하네요.강의 영상으로 봐도 소스는 동일한 걸로 보이는데, 무슨 차이가 있을까요?=> 확인된 내용 추가로 적습니다.https://github.com/ultrafunkamsterdam/undetected-chromedriver/issues/1100현재 최신버젼은 3.4.6 버젼인데 위 내용으로 보면 3.4.5 버젼부터 작동되지 않는다고 하네요.3.4.4 버젼으로 다운시키니 정상작동됩니다.안되시는 분들은 참고하시기 바랍니다. 최신버젼으로 사용가능한 방법이 있으면 알려주시기 바랍니다.아래 답변 참고하세요2.네이버의 경우 --headless나 --incognito 를 사용해도 영향이 있을까요?
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
셀레늄 실습중 문의
수업을 듣고 다른 사이트로 실습을 해보려고 하는데,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)
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
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)
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
광고 상품 표기 추가문의
안녕하세요. 문의드립니다.광고 상품 대신에 로켓상품도 표기하고자 합니다. if len(link.select(".ad-badge-text")) > 0: print("광고상품")를 아래와 같이 수정하면 될까요?해봤는데 아무표기가 안되서요. if len(link.select("span.badge rocket")) > 0: print("로켓상품") 그리고 광고상품 로켓상품 둘다 표현하고자 하면아래와 같이 표기하면 될까요? if len(link.select(".ad-badge-text")) > 0: print("광고상품")elif len(link.select("span.badge rocket")) > 0: print("로켓상품")
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
광고상품 표기외에 상품명도 보려고 하는데요. 에러가나네요.
광고상품 광고상품 표기외에 상품명도 보고자하는데요.아래와 같이 에러가 납니다.상품명도 보려면 어떻게 해야 할까요?https://www.coupang.com//vp/products/7119405125?itemId=17821748239&vendorItemId=84985642101&sourceType=srp_product_ads&clickEventId=f08dcc16-7eb1-4918-979f-8e4d3e2f2314&korePlacement=15&koreSubPlacement=1&clickEventId=f08dcc16-7eb1-4918-979f-8e4d3e2f2314&korePlacement=15&koreSubPlacement=1<div class="name">디엑스 DX320QHD 32인치 QHD 75Hz IPS 고성능 게이밍 컴퓨터 모니터, DX320QHD(일반)</div>Traceback (most recent call last):line 45, in <module>print(ad_name).textAttributeError: 'NoneType' object has no attribute 'text'print(ad_name).text에서 text를 빼고 실행시켜보았는데 다른 상품인데 아래와 같이 모두 상품명이 동일하게 나옵니다. <div class="name">인터픽셀 60.5cm FHD 75Hz IPS 평면 게이밍 모니터 화이트, IP2422(무결점)</div>광고상품https://www.coupang.com//vp/products/6070742312?itemId=11207404701&vendorItemId=78484994606&sourceType=srp_product_ads&clickEventId=2981eff0-533f-432a-ace7-a9dbbc8cf39b&korePlacement=15&koreSubPlacement=12&clickEventId=2981eff0-533f-432a-ace7-a9dbbc8cf39b&korePlacement=15&koreSubPlacement=12<div class="name">인터픽셀 60.5cm FHD 75Hz IPS 평면 게이밍 모니터 화이트, IP2422(무결점)</div>광고상품https://www.coupang.com//vp/products/1955685399?itemId=3323143682&vendorItemId=71310006110&sourceType=srp_product_ads&clickEventId=8ab74e64-bccb-400c-968d-9fe175da93a9&korePlacement=15&koreSubPlacement=15&clickEventId=8ab74e64-bccb-400c-968d-9fe175da93a9&korePlacement=15&koreSubPlacement=15<div class="name">인터픽셀 60.5cm FHD 75Hz IPS 평면 게이밍 모니터 화이트, IP2422(무결점)</div>광고상품 for link in links: print(ad_name).text <-이부분 때문에 에러가 나는것 같습니다. 어떻게 표기를 해야 할까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
유튜브 크롤링/키워드 별 크롤링 방법에서 에러발생합니다.
div#metadata-line > span위 그림에서 처럼 이것은 인식 합니다만위 그림에서와 같이 div#metadata-line > span::nth-child(1) 은 인식 하지 못하는 것 같습니다.info.find_elements(By.CSS_SELECTOR, "div#metadata-line span")[0]selenium에서는 이렇게 해서 해결했습니다만...views = info.select("div#metadata-line > span")[1].text views = info.select("div#metadata-line span")[1].textBeautifulSoup에서는 위 코드도 오류가 발생합니다.
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
질문드립니다.
사용자 입력 예외처리를 하고 있는데,1)문자 입력 시 오류2)3자리 숫자가 아닐 경우 오류다음과 같이 코드를 짰는데 1)의 경우 except 부분에서 "입력 오류"를 출력하지만 2)의 경우 "입력오류"가 출력되지 않고 그냥 재입력하게 되네요.혹시 이유를 알 수 있나요?또한문자 입력 시 "숫자만 입력 가능합니다"를 출력두자리수 입력 시 "세 자리 수를 입력하세요"를 출력하도록 하려면 코드를 어떻게 수정해야 할까요?감사합니다.!#세 자리 숫자만 입력할 수 있게 하는 함수 def input_check(msg, casting = int): while True: try: num = input(msg) # 사용자 입력 num_str = str(num) #맨 앞의 수가 0일경우 0이 잘려버리기 때문에 str을 따로 저장 if(casting(num) and len(num) == 3): return num_str except: print("입력 오류") continue
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
개발자 모드에서 클래스 항목 갯수 찾는 부분은 어떻게 설정할 수 있나요?
이부분 설정을 어떻게 하는지 궁금합니다. 검색해도 못찾겠습니다~ㅠㅠ
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
lxml.etree.LxmlSyntaxError: not in an element - 쿠팡결과_엑셀저장
워크시트 저장하는 코드에서...lxml.etree.LxmlSyntaxError: not in an element이런 에러가 났습니다. 디렉토리명을 포함한 파일이름을 아래와 같이 했을 때...wb.save('./04_쿠팡_크롤링/coupang_result.xlsx')이것도 에러 납니다. wb.save('startCoding_crawling/04_쿠팡_크롤링/coupang_result.xlsx')이렇게 하니 에러가 나지 않았습니다. 참고 바랍니다. 오류 전체 내용은 다음과 같습니다.Traceback (most recent call last): File "d:\python_Workspace\crawling\startCoding_crawling\04_쿠팡_크롤링\04_엑셀에저장하기.py", line 80, in <module> wb.save('04_쿠팡_크롤링/coupang_result.xlsx') # 왜 2번쓰지? File "d:\python_Workspace\crawling\lib\site-packages\openpyxl\workbook\workbook.py", line 386, in save save_workbook(self, filename) File "d:\python_Workspace\crawling\lib\site-packages\openpyxl\writer\excel.py", line 291, in save_workbook archive = ZipFile(filename, 'w', ZIP_DEFLATED, allowZip64=True) File "C:\Users\exper\Anaconda3\lib\zipfile.py", line 1248, in __init__ self.fp = io.open(file, filemode) FileNotFoundError: [Errno 2] No such file or directory: '04_쿠팡_크롤링/coupang_result.xlsx' Error in atexit._run_exitfuncs: Traceback (most recent call last): File "d:\python_Workspace\crawling\lib\site-packages\openpyxl\worksheet\_writer.py", line 32, in _openpyxl_shutdown os.remove(path) PermissionError: [WinError 32] 다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다: 'C:\\Users\\exper\\AppData\\Local\\Temp\\openpyxl.9zt9hqlf' Exception ignored in: <generator object WorksheetWriter.get_stream at 0x0000019973439F90> Traceback (most recent call last): File "d:\python_Workspace\crawling\lib\site-packages\openpyxl\worksheet\_writer.py", line 300, in get_stream File "src\lxml\serializer.pxi", line 1834, in lxml.etree._FileWriterElement.__exit__ File "src\lxml\serializer.pxi", line 1570, in lxml.etree._IncrementalFileWriter._write_end_element lxml.etree.LxmlSyntaxError: inconsistent exit action in context manager Exception ignored in: <generator object WriteOnlyWorksheet._write_rows at 0x00000199734B05F0> Traceback (most recent call last): File "d:\python_Workspace\crawling\lib\site-packages\openpyxl\worksheet\_write_only.py", line 75, in _write_rows File "src\lxml\serializer.pxi", line 1834, in lxml.etree._FileWriterElement.__exit__ File "src\lxml\serializer.pxi", line 1568, in lxml.etree._IncrementalFileWriter._write_end_element lxml.etree.LxmlSyntaxError: not in an element
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
Exception has occurred: SSLError 이런 에러가 발생합니다.
이 강의에서 에러가 발생했습니다.소스코드는 다음과 같습니다.import requests from bs4 import BeautifulSoup url = "https://www.naver.com/" response = requests.get(url) # 에러 발생한 부분 html = response.text soup = BeautifulSoup(html, 'html.parser') word = soup.select_one("#NM_set_home_btn") print(word.text)위 코드중response = requests.get(url)위 부분에서 에러가 발생했습니다. [ 에러 내용 ]Max retries exceeded with url:강의에서 접속한 url이런 에러가 나오고Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.뒤에 이런 문장이 나옵니다. 에러 해결 방법은 무었인가요? [ 에러 전체 내용 ]에러의 전체 내용은 다음과 같습니다.Exception has occurred: SSLError HTTPSConnectionPool(host='search.naver.com', port=443): Max retries exceeded with url: /search.naver?where=news&sm=tab_jum&query=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90 (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) urllib3.exceptions.SSLError: Can't connect to HTTPS URL because the SSL module is not available. During handling of the above exception, another exception occurred: urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='search.naver.com', port=443): Max retries exceeded with url: /search.naver?where=news&sm=tab_jum&query=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90 (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) During handling of the above exception, another exception occurred: File "D:\crawling\05. 뉴스 제목과 링크 가져오기.py", line 4, in <module> response = requests.get("https://search.naver.com/search.naver?where=news&sm=tab_jum&query=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90") requests.exceptions.SSLError: HTTPSConnectionPool(host='search.naver.com', port=443): Max retries exceeded with url: /search.naver?where=news&sm=tab_jum&query=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90 (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available."))
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
Exercise 70 질문드립니다.
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본:함수 활용, 13분안녕하세요 :)저는 70번 문제 코드를 def function(a, b): return [a] * bfunction("Fun", 3)이렇게 작성해서 동일한 결과값, ['Fun', 'Fun', 'Fun']이 나왔는데 이 방법도 문제가 없는건가요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
제발 도와주세요ㅠ
C:\coding\py>C:/Users/taehw/AppData/Local/Programs/Python/Python311/python.exe c:/coding/py/증권.pyTraceback (most recent call last): File "c:\coding\py\증권.py", line 2, in <module> from bs4 import BeautifulSoupImportError: cannot import name 'BeautifulSoup' from 'bs4' (C:\Users\taehw\AppData\Local\Programs\Python\Python311\Lib\site-packages\bs4\__init__.py) 이렇게 오류 문자가 떠요!코드는 이렇게 썻어요! import requests from bs4 import BeautifulSoup # 종목 코드 리스트 codes = [ '035420', '088980', '005930', '035720' ] for code in codes: url = f"https://finance.naver.com/item/sise.naver?code={code}" response = requests.get(url) html = response.text soup = BeautifulSoup(html, 'html.parser') price = soup.select_one("#_nowVal").text price = price.replace(',', '') print(price)
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
셀레니움 강의 중 문의사항 입니다.
9~10강 셀레니움 강의 따라하다 보니 위와 같은게 뜨는데요. 왜 그러는 건지 알 수 있을까요?해결방법은 어떻게 되나요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
무언가 오류가 있다고 뜨는데 어떻게 고치나요?
import requests from bs4 import BeautifulSoup # 종목 코드 리스트 codes = [ '035420', '088980', '005930', '035720' ] for code in codes: url = f"https://finance.naver.com/item/sise.naver?code={code}" response = requests.get(url) html = response.text soup = BeautifulSoup(html, 'html.parser') price = soup.select_one("#_nowVal").text price = price.replace(',', '') print(price)
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
안녕하세요. 강의의 미흡한점이 있어 문의드립니다.
안녕하세요. 강의의 미흡한점이 있어 문의드립니다. ● 2-4 강의에서 사이트 링크를 남겨 주신다고 했는데 없네요.● 1-5 에서 마지막 강의에서 undetected_chromedriver 사용법을 알려 주신다고 했는데 마지막강의에서는 이내용 없습니다. ● 3-1 강의에서도 undetected_chromedriver를 사용해서 코드작성을 A To Z 를 한다고 했는데 없 네요.● 1-5 강의 들어보고 결정하려 고했는데 마지막에 사용방법 알려준다고 해서 마지막까지 들었는 데 없어서 난감합니다.● 1-5 에서 undetected_chromedriver 에대한 강의 였는데 이후 강의에서는options.add_argument("--disable-blink-features=AutomationControlled")를 사용하던데 햇갈려서 순서가 맞는지 궁금합니다.그리고 강사님께 직접 여쭤보고 싶은데 어디에 질문해야 할까요? 답변부탁드립니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
크롤링 중에 구글 reCAPTCHA 우회 방법
안녕하세요. 선생님, 파이썬-크롤링 기본/실전 강의 너무 잘 들었습니다. (완강~ ^^")실전편까지 들으니 초보적이지만 웬만한 크롤링은 가능하게 되어서너무 감사한 마음입니다. 다름이 아니라, 크롤링 중에 구글 reCAPTCHA 만나면 우회할 수 있는 방안이 있을까요?reCAPTCHA가 iframe 으로 되어 있고, 그래서 switch_to.frame해서 해당 체크박스를 자동 클릭 까지는 가능한데, 이게 봇 클릭으로 인식해서 그런지 추가 이미지 선택 팝업이 뜹니다.구글링 해 보니, reCAPTCHA v3 같은 경우에는 마우스 움직임 등의 조건을 본다고 하는데요~pyautogui.moveTo() 함수로 마우스를 이리저리 왔다갔다 했다가 클릭하면 가끔씩 추가 이미지 선택 팝업이 안뜰 때도 있습니다. 질문은 reCAPTCHA 우회 방법이 있는지요?? 바쁘실텐데 미리 감사 드립니다.