나는 위키 피 디아의 10 년 기사의 콘텐츠를 가져 오는 웹 스크레이퍼를 쓰고있다. (예 : 10s, 1970s, 1670s BC 등의 기사)내 프로그램이 10 년을 건너 뛰는 것을 방지하는 우아한 방법이 있습니까?
페이지를 가져 오기 위해 이와 비슷한 논리를 사용하고 있습니다.
for (i = -1690; i <= 2010; i += 10)
if (i < 0)
page = (-i) + "s_BC"
else
page = i + "s"
GrabContentFromURL("http://en.wikipedia.org/wiki/" + page)
내가 고려하지 않은 작은 세부 사항을 제외하면이 기능은 작동합니다.
문제는 두 개의 0이 수십 년 있습니다. 0s AD 및 0s BC이 있습니다. 내 루프가 현재 작동하는 방식으로 프로그램은 0s AD 페이지의 콘텐츠 만 가져옵니다.
이것은 매우 간단한 문제이지만, 문제를 해결할 수있는 좋은 방법이 있습니다. 나는 분리 된 함수에 루프의 몸체를 추출 할 수 있고 두 개의 분리 된 루프를 사용할 수 있다는 것을 알았지 만, 내가 누락 된 더 우아한 방법이있는 것처럼 느껴진다.
너무 복잡하지 않으면 서이 문제를 어떻게 해결할 수 있습니까?
+1 아, 영리하다. 내가 페이지를 시간 순서대로 붙잡을 필요가 없다는 것은 나에게 결코 발생하지 않았다. 당신이 아무것도 무효화 할 필요가 없기 때문에 이것도 좋네요. –