inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

lxml.etree.LxmlSyntaxError: not in an element - 쿠팡결과_엑셀저장

585

새벽별

작성한 질문수 4

1

워크시트 저장하는 코드에서...

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

웹-크롤링 웹-크롤링 python pyopenxl

답변 1

0

스타트코딩

현재 vscode 프로젝트 폴더를 기준으로 상대경로가 설정됩니다.

startCoding_crawling 폴더의 상위 폴더가 프로젝트 폴더로 설정되어 있다면

wb.save('./04_쿠팡_크롤링/coupang_result.xlsx')는 오류가 나게 되어있습니다.

0

새벽별

답변 감사합니다.

프로젝트 폴더에 대한 개념이 아직 부족했었던 것 같습니다.

몇일 지나 이 글을 보니 제가 질문했지만 무슨 내용인지 파악이 안되어 다시 정리하자면...

wb = openpyxl.Workbook('04_쿠팡_크롤링/coupang_result.xlsx')

위 부분에 이렇게 써도 에러가 나지 않았지만

wb = openpyxl.Workbook('04_쿠팡_크롤링/coupang_result.xlsx')

아래부분에 이렇게 쓰니 에러가 발생했습니다.

wb.save('startCoding_crawling/04_쿠팡_크롤링/coupang_result.xlsx')

이렇게 하니 에러가 나지 않았습니다.

현제프로젝트폴더/폴더경로/파일명.xlsx

이렇게 해야 하는 것 같습니다. 감사합니다.

셀레니움 환경설정 오류

0

50

2

네이버 로그인 관련

0

265

2

안녕하세요 셀레니움에 대해서 질문

0

86

1

크롤링 연습사이트 문의

0

97

2

선택자 질문

0

71

2

'특정 요소가 나타날 때까지 스크롤' 부분 에러

0

78

2

자동 로그인 질문

0

89

2

44강 제목, 링크

0

105

1

원하는 값이 없을 때

0

90

2

크롤링한 링크가 엑셀로 들어가면 작동이 안되요

0

227

2

셀레니움 PDF자료는 받을 수 있나요

0

100

2

글목록 추출하기

0

98

2

메일 자동화 로그인 중복방지문자해결 오류 및 명시적 대기 질문

0

88

2

강의 노트가 어디에 있는건가요?

0

80

2

강의 커리큘럼 질문

0

98

1

조건문 else 사용하지 않는 이유

0

76

2

셀레니움으로 접근할 수 없는 경우

0

95

2

웹페이지 변경

0

72

2

자바스크립트로 태그 선택 시 질문입니다.

1

64

2

수료증은 어떻게 받나요?

0

120

2

class명을 활용하여 선택자를 만들지 않는 경우..?

0

61

2

드라이버가 안 열려요

0

79

2

이거 해결방법 아시는 분?

0

121

2

네이버 지식인 크롤링..

0

202

2