2017-03-02 1 views
0

나는 약간의 거미를 쓴다. 그것은 명령 행을 통해 전달 된 이름을 파일에 내 보낸다 : E:\Anaconda3\envs\Blog2Doc\Lib\site-packages\scrapy\cmdline.py runspider blog2doc_scrapy\spiders\blog_spider.py -o ..\data\out.html. 이 파일이 이미 존재하면이 스파이더는 내용을 기존 파일에 추가합니다. 출력 파일이 이미 존재하는지 확인하는 방법 - 존재하는 경우 삭제하십시오. 파일로 내보내려면 Blog2DocExporter (BaseItemExporter) 클래스를 작성합니다. 그것은 출력 파일을 열 수 없습니다, 그것은 생성자에서 이미 열려있는 파일 개체를 가져옵니다. 그래서이 익스포터 클래스에서 이미 내 보낸 파일이 있는지 확인할 수 없습니다.Scrapy에서 이미 내 보낸 파일이 있는지 여부를 확인하는 방법은 무엇입니까?

답변

0

출력 파일을 덮어 쓰는 치료법은 알려진 공개 문제입니다. 예를 들어, 참조 : Add a command-line option for overwriting exported file

output as xml appending to existing file when spider re-executed resulting in invalid xml

    • 내가 자신을 증가 접미사를 가진 파일의 이름을 변경하는 수정을 제안합니다. 그러나 구현은 이전 버전과 호환되지 않습니다. 당신은이 유용한 그럼에도 불구하고 찾을 수 있습니다 : https://github.com/scrapy/scrapy/pull/2093

      는 그것은 FileFeedStorage 변경,하지만 비슷한 구현 및 사용자 정의 피드 스토리지 클래스를 사용하는 this other answer 볼 수 있었다.

  • 관련 문제