필자는 Python으로 스파이더 링 스크립트를 작성했다. 그러나 완료하는 데 오랜 시간이 걸립니다 (사이트 링크 수에 따라 9 시간 이상 소요).거미에 쓰는 가장 좋은 방법은 무엇입니까?
시간을 단축하기 위해 스레드를 구현하고 싶지만 스레드가 가장 좋은 부분을 파악하는 데 문제가 있습니다. 언뜻 보면 각 페이지의 페이지 내용을 가져올 스레드를 만들고 visited_urls
및 to_visit_urls
배열을 잠궈 모든 것이 동일한 목록에서 작동하는지 확인합니다.
visited_urls
및 to_visit_urls
배열에서 중복을 검사하는 데 가장 많은 시간을 소비하고있는 것처럼 보입니다. 이렇게 스레딩하면 실제로 많은 시간을 절약 할 수 있을까요? 내 거미를 실을 수있는 더 좋은 방법이 있습니까?
) 조회. O (1) 조회가있는 대신'set '을 사용해보십시오. –
나는 내 코드를 프로파일 링하지 않았다. 나는 단지 _feeling_을 가지고있다. : D – Staunch