2010-03-26 2 views
3

find_all_links() 메서드를 사용하여 HTML 페이지에서 일부 링크를 추출하려면 WWW::Mechanize을 사용하려고합니다. 이들 CRITERIAS에 일치 지원 :Perl의 WWW :: Mechanize를 사용하는 페이지를 제외한 모든 링크를 페이지에서 어떻게 추출 할 수 있습니까?

  • 텍스트
  • text_regex
  • 이 URL을
  • url_regex
  • url_abs
  • url_abs_regex
    ...

가 어떻게 모두 추출 할 수 있습니다 링크 "xyz"라는 텍스트가있는 것을 제외하고?

답변

6

당신은 'text_regex' 기준을 사용할 수 있습니다

$mech->find_all_links(text_regex => qr/^(?!xyz$).*$/); 

부정적인 모습 미리 주장에 대한 자세한 내용은 perldoc perlre를 참조하십시오.

+0

감사합니다. – planetp

1

왜 모든 링크를 가져 오지 않고 'grep'을 사용하여 필요없는 것들을 건너 뛸 수 있습니까?

+0

질문에 대답하지 않으시겠습니까? –

+0

이 접근법은 괜찮습니다. 내 스크립트에서 find_all_links()에 대한 params는 동적으로 생성됩니다. 나는 특별한 경우를 제외하고는이 매개 변수를 사용하는 것이 더 쉽다는 것을 안다. – planetp

관련 문제