워크시트 저장하는 코드에서... 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
이 강의에서 에러가 발생했습니다. 소스코드는 다음과 같습니다. 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."))
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다) - 이외의 문의등은 평생강의이므로 양해를 부탁드립니다 - 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다 - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본:함수 활용, 13분 안녕하세요 :) 저는 70번 문제 코드를 def function(a, b): return [a] * b function("Fun", 3) 이렇게 작성해서 동일한 결과값, ['Fun', 'Fun', 'Fun']이 나왔는데 이 방법도 문제가 없는건가요?
안녕하세요. 강의의 미흡한점이 있어 문의드립니다. ● 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가 iframe 으로 되어 있고, 그래서 switch_to.frame해서 해당 체크박스를 자동 클릭 까지는 가능한데, 이게 봇 클릭으로 인식해서 그런지 추가 이미지 선택 팝업이 뜹니다. 구글링 해 보니, reCAPTCHA v3 같은 경우에는 마우스 움직임 등의 조건을 본다고 하는데요~ pyautogui.moveTo() 함수로 마우스를 이리저리 왔다갔다 했다가 클릭하면 가끔씩 추가 이미지 선택 팝업이 안뜰 때도 있습니다. 질문은 reCAPTCHA 우회 방법이 있는지요?? 바쁘실텐데 미리 감사 드립니다.
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
자료실에 있는 문제들을 다운받고 실행하려고 하는데, 비주얼 스튜디오에서만 열리고 주피터에서는 열리지 않습니다. 문제 풀기 조금 힘든 상황인데 어떻게 하면 될까요 - 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다) - 이외의 문의등은 평생강의이므로 양해를 부탁드립니다 - 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다 - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
선생님 안녕하세요 좋은 강의 감사합니다. 강의 코드와 조금 다르게 작성을 해보았는데요 네이버 주식 크롤링 부분에서 종목명을 가져오는 경우 에러가 발생해서 도움을 요청드립니다. 네이버증권 코드는 아래와 같이 되어있는데요 trs = soup.select("table.type_2 > tbody > tr[onmouseover='mouseOver(this)']") # class가 number로만 되어있고 안쪽에 잇는 것들이 구분이 안된다. # n번째 td 를 가져오도록 설정하면 된다. nth-child가 안되므로 다른 방법 사용 for tr in trs: name = tr.select_one('a.title').text 이라고 작성하면 nonetype은 text가 없다는 에러가 뜹니다. name = tr.select_one('td > a.title').text 라고 작성해도 똑같은 오류가 뜨는데, 제가 보기에는 맞는 코드 같거든요;;; 혹시 어디가 잘못된 것인지 말씀이 가능하실까요?
수업 잘 듣고 있습니다. 자동화를 하고 싶으서 예전 영상 보다가 최근에 다시 올라와서 보는 중 강의 발견하고 바로 수강해서 듣고 있습니다. 궁금한 것이 하나 있는데요. 셀레니움에서 하나의 윈도우 창의 특정 태그 값을 찾아서 다른 윈도우 창을 오픈 한 후 특정 필드에 값을 넣을 수 있나요?
쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]
안녕하세요 headless chrome 오류 문의 드립니다. 위 코드 실행 시.. WebDriverException: Message: unknown error: Chrome failed to start: was killed. 오류문구가 뜨는데 크롬 드라이버 이슈가 있는 걸까요??? 크롬, 크롬드라이버는 110버전으로 사용하고 있습니다. 추가로 셀레니움은 잘됩니다!!
선생님 안녕하세요 좋은 강의 감사합니다. 강의 외적으로 질문드립니다. 정기적으로 크롤링을 해와서 엑셀에 정보를 업데이트 하는 것을 하고 싶은데요 예를 들어, A열에 종목번호, B열에 종가를 넣다가, 갑자기 두 열 사이에 하나 열을 추가해서 다른 정보를 넣어야 할때가 많은데요(예를 들어, PER나 PBR같은 정보) 이런 경우에 B열로 종가를 불러오게 하면 계속 정보가 덧쓰일것 같아서요. 이 경우, B열로 불러오라는 코드를 수정하지 않고, 자동으로 C열로 밀리도록 코딩을 하려면 어떻게 해야 하나요?