0
누군가가 해결 한 웹 페이지에서 정보를 스크랩하는 데 문제가 있었지만 그 구조에서 데이터를 가져와 일반 문자열 변수에 넣고 싶습니다. 이것을 말하고 새로운 질문을 만들라는 말을 들었습니다. 그래서 여기 있습니다!웹 :: 쿼리 및 데이터 추출
코드 :
use Web::Query 'wq';
my $football_matches = wq($mech->content)
->find('tr.match')
->map(sub {
my (undef, $e) = @_;
return 'v' eq $e->find('td.score')->text
? [
$e->attr('id'),
map { $e->find("td.$_")->text }
(qw(tournament dateTime homeTeam score awayTeam prices))
]
:();
});
use Data::Dumper; print Dumper $football_matches;
출력 : 내가하고 싶은 무엇
$VAR1 = [
['tn7gc635476', '', ' Mo 12Mar 2012 ', 'Arsenal', 'v', 'Newcastle', ' '],
['tn7gc649937', '', ' Tu 13Mar 2012 ', 'Liverpool', 'v', 'Everton', ' '],
['tn7gc635681', '', ' Sa 17Mar 2012 ', 'Fulham', 'v', 'Swansea', ' '],
['tn7gc635661', '', ' Sa 17Mar 2012 ', 'Wigan', 'v', 'West Brom', ' '],
['tn7gc635749', '', ' Su 18Mar 2012 ', 'Wolves', 'v', 'Man Utd', ' '],
['tn7gc635556', '', ' Su 18Mar 2012 ', 'Newcastle', 'v', 'Norwich', ' ']
];
는 각 날짜, 홈 팀과 원정 팀을 정상 변수/배열에 넣어이다.
미리 감사드립니다.
perlref는 +1, perldsc는 -1입니다. 나는 perlref (그리고 [perlreftut] (http://p3rl.org/reftut)을 강력히 추천한다.)를 잘 이해한다면 dsc는 버팀목이라고 생각한다. 그러면 dsc의 레시피를 따를 필요가 없다. –
나는 perl에 꽤 익숙하다. $ football_matches 배열의 배열이 맞습니까? 이 대답이 나에게 주어지기 전에 말했듯이, 처음에는 HTML :: TokeParser를 사용하여 이것을 시도하면서 100 % 이해하지 못했습니다. – blacky