2012-07-20 3 views
0

특정 URL을 구문 분석하기 위해 치료에서 SgmlLinkExtractor 기능을 사용하고 있습니다.문자열의 일치 단어에 대한 SgmlLinkExtractor 및 정규 표현식

동적 URL을 크롤링하기 위해 start_requests 함수를 재정의했습니다.

이 보이는 같은 :

start_requests (자기) : ..... 수율 요청 (url.strip(), callbackA)

콜백 A가 지금 아무것도하지 않습니다.

또한 SgmlLinkExtractor에 대해 process_value를 구현했지만 결코 호출하지 않았습니다.

은 내가 사용 규칙입니다 :

규칙 =

다시 callbackB는 호출되지 않습니다 [규칙 (SgmlLinkExtractor (= 수()), 콜백 = callbackB은 = 사실에 따라)].

+0

에 오신 것을 환영합니다 스택 오버플하기! 지금까지 시도한 것을 설명해 주시겠습니까? –

+0

이것은 달성하고자하는 것입니다. 사이트의 모든 a 및 href 태그를 스캔하고 해당 URL로 점프하기로 결정하기위한 로직을 수행하려고합니다. 로직은 다음과 같습니다. 링크 또는 링크 설명에 경력이 포함되어 있으면 검색 | 작업 (대소 문자를 구분하지 않음) 경우 구문 분석을위한 링크를 만듭니다. - 링크에는 ../이 포함될 수 있으므로 제거해야합니다. – DjangoPy

+0

괜찮지 만, 이미 정규식을 구축 해본 적이 있습니까? 봇이 일 했나요? 그렇지 않은 경우 어떤 오류 메시지를 받았습니까? 구문 분석 할 입력의 예 (예상 한 결과)를 게시 할 수 있습니까? –

답변

0

당신의 콜백이 거미에 선언하는 경우, 그들은 글로벌 범위가되지 않으며 self.와 클래스 범위로 당신을 참조 할 필요가 :

rules = [ 
    Rule(SgmlLinkExtractor(), callback=self.callbackB, follow=True), 
]