내가하는 일은 정말 쉽지만 어쨌든 나는 몇 시간 동안 고심하고있다. 따라서 올바른 방향으로 나를 가리 키도록하십시오.Perke에서 TokeParser를 사용하여 자체 포함 된 태그에서 값 추출
<img src="random.jpg" class="someClass" id="someId" alt="test" />
을 현재이 코드와이 일치 할 수 없습니다 :
my $tp = HTML::TokeParser->new(\$rawHTML) || die "Cant't open: $!";
while (my $token = $tp->get_token){
my $ttype = shift @{ $token };
if($ttype eq "S"){
my($tag, $attr, $attrseq, $rawtxt) = @{ $token };
if ($tag eq "img"){
if(($attr->{'class'} eq "someClass")&&($attr->{'id'}eq "someId")){
my $alttext = $attr->{'alt'};
print "AltText: $alttext";
...
}
}
}
}
}
TokeParser 그냥 자기가 타를 포함 무시하는 것 같다
나는 다음과 같습니다 일부 HTML있어 gs < ... /> 왜? 이 문제에 대한 해결책을 찾기 위해 열심히 수색했으며, TokeParser 나 다른 Perl 모듈과 함께 작동하게하는 데 도움이 될만한 것에 감사드립니다 ...
감사합니다!
실제로, 그것은 아름답게 작동했습니다. PingLu가 img 태그 내의 대체 텍스트를 잡으려고하는 것처럼 보였습니다. 아마 그게 아니라 ... – Kenosis
Hmh ... 그래, 작동하고있어,이 다른 코드를 복사해도된다. 내가 HTML 파일 전체를 넣었을 때 의상이 깨지는 것 같습니다. 덤프를 만든 후에는 TokeParser가 여는 태그와 닫는 태그를 여러 개 점프하고있는 것 같습니다. 그래도 여전히 태그에 액세스 할 수 없습니다 ... 매우 이상합니다. 하지만 지금 당장 지쳐서 Mojo :: DOM 또는 Treebuilder를 살펴 보겠습니다. 어쨌든 고마워! 나는 대답을 받아 들일 것이고, 그것과 함께 일해야한다. 나는 왜 그것이 나의 특정한 html을 위해 안되는지에 의해 비틀 거린다. .. 불행하게도 그것은 기밀 데이터를 포함하고 있기 때문에 원래 HTML 코드를 제공 할 수 없다. – PingLu