2014-10-15 2 views
1

오픈 소스 crawler4j를 사용하여 mystore411.com에서 웹 사이트를 크롤링하려고했습니다.crawler4j : 20-30 초 동안 크롤링하면 몇 초 동안 내 IP 주소가 금지됩니다.

크롤러는 제한된 시간 (예 : 20-30 초) 동안 정상적으로 작동 한 다음 웹 사이트가 다시 크롤링되기 전에 몇 분 동안 내 주소를 금지합니다. 가능한 해결책을 찾을 수 없었습니다.

여기의 robots.txt를 통해 가서 내가 그에서 가져온 것입니다 : 어떤 대안이 있다면

User-agent: Mediapartners-Google 
Disallow: 

User-agent: * 
Disallow: /js/ 
Disallow: /css/ 
Disallow: /images/ 

User-agent: Slurp 
Crawl-delay: 1 

User-agent: Baiduspider 
Crawl-delay: 1 

User-agent: MaxPointCrawler 
Disallow:/

User-agent: YandexBot 
Disallow:/

제안하십시오.

+1

내가 그 제안을 그들이 크롤러를 멈추게하는 이유가 있습니다. 그러므로 허가 없이는 모든 리소스를 악용하는 것이 좋습니다. –

+0

@ TheHeadRush 예. 당신 말이 맞아요. 그러나 여전히, robots.txt를 볼 수있는 가능한 해결책이 있습니까? – user3311019

+0

그래서 ... 당신은 자원을 훔치는 중임을 알고 있으며 여전히 누군가의 도움이 필요하십니까? –

답변

1

나는 그들이 당신을 왜 금지했는지 정확한 이유를 말할 수 없습니다. 하지만 IP가 금지되는 몇 가지 이유를 설명 할 수 있습니다.

1) 크롤링 컨트롤러 코드의 공신력 지연이 너무 낮을 수 있습니다.

* Expalnation:- Politeness delay is the time that you set as the gap between two   
        consecutive requests. The more u reduce the delay the more no. of 
        requests will be send to the server increasing server work load. SO keep 
        an appropriate politeness delay.(default 250 ms, use this command 
        config.setPolitenessDelay(250); 

2) 크롤러가

* Explanation:- Almost the same reason as above. 

3) robot's.txt을 통해 크롤링하지 마십시오 스레드의

* Explanation:- Set your robottxtenable to false in order to not to get blocked by the 
       domain's robot's.txt.(config.setResumableCrawling(false); 

4) 좋은 사용자 에이전트 에이전트 사용해보십시오 : -

* Exaplantion:- https://en.wikipedia.org/wiki/User_agent. 
+0

감사합니다. 나는 그들을 사용하려고 노력할 것이다. – user3311019

+0

@ user3311019 K! 행운을 빌어 요 –