크롤링할 페이지 범위를 좁힐 수 있으므로 상황이 더 쉬워집니다. 우리는 파일을 다운로드하는 데 걸리는 시간을 확인하기 위해 OS 및 시간 모듈을 가져 오디지니다. 스레드 풀 모듈을 사용하면 풀을 사용하여 여러 스레드 또는 프로세스를 실행할 수 있습니다. ThreadPool 코드를 테스트했지만 다운로드된 것은 없습니다. 보고된 시간은 빠르지만 파일을 다운로드하지 는 않습니다. SimFin/pdf-크롤러의 새로운 릴리스에 대한 알림을 원하십니까? 또한 ZipfilesItem 클래스에 필드를 하나 더 추가하고 산출하기 전에 설정해 보겠습니다. (우리가이 일을하는 이유에 대한 다음 섹션을 참조하십시오) 이제 거미에 ZipfilesItem 개체를 만들어 보겠습니다. file_urls 속성 값을 다운로드하는 파일의 URL로 설정해야 합니다. 다시 한 번 목록이 어야 합니다. 자바 스크립트로 파일을 “숨겨진”크롤링 할 수 있습니다 (크롤러는 페이지를 렌더링하고 모든 요소를 클릭하여 새 링크가 표시되도록 할 수 있습니다). 시작 페이지를 지정하고 해당 페이지에서 링크하는 모든 페이지가 크롤링됩니다(원래 페이지에 연결되었지만 다른 도메인에서 호스팅되는 PDF를 가져오는 동안 다른 페이지로 연결되는 링크는 무시).

이 코드에서는 파일을 청크로 다운로드하고 임의의 파일 이름으로 저장하고 메시지를 반환하는 비동기 코루틴 함수를 만들었습니다. 심핀의 오픈 소스 PDF 크롤러입니다. 웹 사이트에서 모든 PDF를 크롤링하는 데 사용할 수 있습니다. “개발” 섹션에 설명된 대로 pdf-크롤러를 설치한 후 크롤러 클래스를 가져와서 사용할 수 있습니다. zip 및 exe 파일만 다운로드되도록 parse_item 메서드를 수정해 보겠습니다. 스크랩이있는 파일을 다운로드하려면 첫 번째 단계는 Scrapy를 설치하는 것입니다. Scrapy는 모든 종류의 웹 스크래핑 요구에 가장 강력한 단일 프레임 워크입니다. BeautifulSoup4, 셀레늄 및 스플래시와 같은 다른 모든 도구는 Scrapy와 잘 통합됩니다. 감사합니다 Mokhtar, 나는 실제로 이것을 찾고 있었다. 파이썬을 접하고 내 직장에서 포털의 로그 파일을 다운로드하고 읽으려고합니다.

이것은 내 인생을 쉽게 만들 것입니다. Zipfiles파이프라인 클래스를 보면 개체에서 상속됩니다. Files파이프라인을 상속하도록 변경해야 합니다. 이것은 또한 파일에서 FilesPipeline을 가져오는 것을 의미합니다. Scrapy에는 4개의 템플릿이 있습니다. 다양한 시나리오에서 사용할 수 있습니다. 당신은 스크랩과 파일을 다운로드하는 그들 중 일부를 사용할 수 있습니다. 최종 사용은 다운로드 링크와 페이지에 도달하는 방법에 따라 달라집니다 그래서 지금 우리의 크롤러는 모든 페이지에 가고있다.

이제 다운로드 파일에 대한 링크를 얻을 수있는 시간입니다. 우리는 이미 Zipfiles파이프 라인이 우리의 코드에서 생성되었지만 우리는 그것을 사용하지 않습니다. 이를 수정하거나 새 클래스를 만들 수 있습니다. 요청 라이브러리를 사용하여 웹 파일을 다운로드하는 장점은 파이썬을 사용하여 파일을 다운로드하는 것이 재미 있다는 것입니다. 난 당신이 유용한 튜토리얼을 찾을 수 있기를 바랍니다. 프록시를 사용하여 파일을 다운로드해야 하는 경우 urllib 모듈의 프록시 처리기를 사용할 수 있습니다. 다음 코드 확인: 이 크롤러를 사용하여 회사 웹 사이트에서 PDF를 수집하여 SimFin에 업로드되지만 다른 문서에도 사용할 수 있는 재무 보고서를 찾습니다.