2011-05-16 4 views
0

나는 웹 사이트를 긁어 내기 위해 치료를 사용하고 있습니다. 긁어 내고 싶은 아이템 페이지는 다음과 같습니다 : http://www.somepage.com/itempage/&page=x. 여기서 x1부터 100까지의 숫자입니다. 따라서, 나는 이와 유사한 페이지에 대해 지정된 콜백 함수가있는 SgmlLinkExractor 규칙이 있습니다.치료 - 목록 페이지가 없지만 각 항목 페이지의 URL을 알고 있습니다

웹 사이트에는 모든 항목이 포함 된 목록 페이지가 없으므로 그 URL을 긁어 모으기를 원합니다 (1에서 100까지). 이 녀석 here는 같은 문제를 가지고있는 것처럼 보였지만 그것을 이해할 수 없었다.

해결책이있는 사람이 있습니까?

답변

1

모든 정보가 포함 된 로컬 HTML 파일 file:///c:/somefile.html을 만들면 한 번만 할 수 있습니다. 해당 파일을 긁어서 허용 도메인에 somepage.com을 추가하십시오.

또는 구문 분석 기능에서 다음에 긁어 낼 URL을 요청할 수 있습니다.

6

당신은 '당신의 Spider 클래스 start_urls 속성 알려진 모든 URL을 나열 할 수 있습니다 :

class SomepageSpider(BaseSpider): 
    name = 'somepage.com' 
    allowed_domains = ['somepage.com'] 
    start_urls = ['http://www.somepage.com/itempage/&page=%s' % page for page in xrange(1, 101)] 

    def parse(self, response): 
     # ...