2016-12-14 10 views
1

나는 비참하게 실패합니다.mojo와 perl을 사용하여 finance.yahoo.com을 구문 분석하려고 시도했습니다.

http://finance.yahoo.com/quote/MSFT?ltr=1

그리고이 세 부분을 캡처 : 나는 다음과 같은 URL을 구문 분석 할 * 모든 * 뉴스 * 눌러 .. 내가 가지고 올 한 내용

다음

이의 자료

#!/bin/perl 

use Mojo::UserAgent; 
use strict; 
use warnings; 
use feature 'say'; 

my $ua_string = "Mozila .. "; 
my $url  = "http://finance.yahoo.com/quote/MSFT?p=MSFT"; 
my $timeout = "5"; 

my $ua  = Mojo::UserAgent->new(max_redirects => 5, timeout => $timeout); 
$ua->transactor->name($ua_string); 

my $content = $ua->get($url)->res->dom->at('#436')->{value}; 

say $content; 

어떤 도움을 주시면 감사하겠습니다. 감사합니다

답변

1

DOM에 액세스하는 방법이 올바르지 않습니다.

예 뉴스 섹션의 일부가 될 것 구문 분석 : 브릴리언트

say $ua->get($url)->res->dom->at('div#quoteNewsStream-0-Stream')->all_text; 
+0

을! 승인. 그래서 지금은 $ Ha 안에있는 HREF를 찾으려고 노력하고 있지만 올바르게 만들 수는 없습니다. all_text를 콘텐츠로 변경했습니다. 나는 태그를 공식화하는 방법을 놓치고 있지만 거의 다 왔어. 내가 뭘 놓치고 있니? my $ dom = Mojo :: DOM-> new; my $ content = $ ua -> $ dom-> find ('href #'); –

+0

@BrianRehder : 위 쿼리에 대해 다른 질문을 했으므로. 나는이 답을 해결책으로 받아들이고 새로운 질문에 대한 답을 기다리는 것이 더 낫다고 생각합니다. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work을 참조하십시오. –