scrapy에서 여러 스파이더 간에 방문한 URL을 공유하시겠습니까?
-
21-12-2019 - |
문제
동일한 도메인에서 여러 스파이더를 작업으로 실행하기 위해 scrapyd를 사용하고 있습니다.나는 scrapy가 크롤링할 때 다른 스파이더와 공유하고 조정하는 방문 URL의 해시 테이블을 가지고 있다고 가정했습니다.동일한 스파이더의 인스턴스를 만들 때
curl http://localhost:6800/schedule.json -d project=projectname -d spider=spidername.
오히려 동일한 URL을 크롤링하고 중복 데이터가 긁히게 됩니다.누군가 이전에 비슷한 문제를 처리한 적이 있나요?
해결책
내 조언은 사이트를 여러 개로 나누는 것입니다 start_urls
.그 다음에, 당신은 다른 값을 전달할 수 있습니다 start_urls
각 거미에게.
특히 더 멋진 기능을 원하거나 크롤링하려는 페이지가 정기적으로 변경되는 경우 사이트맵을 크롤링하고 링크를 여러 개의 링크로 나누는 스파이더를 만들 수 있습니다. n
멍청한 다음 시작 n
다른 스파이더가 실제로 사이트를 크롤링합니다.
제휴하지 않습니다 StackOverflow