2014-12-28 3 views
0

이 페이지의 일부 데이터를 읽으려고합니다 : http://www.cefconnect.com/Pricing/DailyPricing.aspx PHP를 사용하고 있습니다. 이 페이지에 표시되는 티커 기호 목록을 가져와야합니다. 매일 500 개 이상의 기호가 업데이트됩니다. 정말 멋진 페이지입니다. 웹 브라우저를 사용하여 필요한 데이터가 HTML 테이블의 ticker 클래스로 잘 정리되어 있는지 확인할 수 있습니다. 그러나, 나는 PHP로 file_get_contents()을 사용할 때이 테이블을 보여줄 수없는 것 같습니다. 그 이유는 (내가 생각하기에) 알 수 있듯이 데이터 목록에 실제로로드하는 데 몇 초가 걸리기 때문에 페이지가 처음로드 될 때 처음에는로드되지 않습니다..aspx 페이지에서 데이터 추출

"정상적인"HTML 웹 페이지에서 데이터를 추출하기 전에 이와 같은 작업을 수행했습니다. 나는이 코드를 사용하여 내가 원하는 코드를 사용했다.

$url = "http://www.cefconnect.com/Screener/FundScreener.aspx"; 
$page = file_get_contents($url); 
echo $page; 

이렇게하면 페이지에서 많은 코드가 표시되지만 데이터를 표시하는 테이블이 없습니다. ASPX 페이지에 대한 경험이 없으므로 누군가가 올바른 방향으로 나를 가리킬 수 있기를 바랍니다. PHP를 사용하여이 데이터에 액세스하고 싶습니다! 감사!

+0

브라우저의 개발 도구 또는 Fiddler를 사용하여 실제로 어떤 URL이 데이터를 반환하는지 확인하십시오. – CodeCaster

+0

네,'http://www.cefconnect.com/Resources/Funds/?props=CategoryId,SponsorId,IsLeveraged,LastUpdated,Cusip,Ticker,Name,CategoryName, NAV,LeverageRatio, DistributorRatePrice,Discount,MarketCap을 쿼리해야합니다. , ManagedDistribution'이 url입니다. –

+0

분명히 페이지가 어딘가에서 그것을 얻고 있었기 때문에 데이터를 쿼리하는 다른 방법이 있다고 생각했습니다. 쿼리 할 스크립트의 URL을 찾으려고했지만 하나도 보지 못했습니다. 브라우저의 개발 도구를 사용하여이를 찾는 법을 배워야합니다. Chrome을 사용합니다. @ BogdanKuštan이 완벽한 쿼리 인 것처럼 보입니다! –

답변

2

데이터가 Ajax를 사용하여 다른 URL에서로드 된 것으로 보입니다. 데이터는 서버의 렌더링 된 HTML 페이지에 포함되지 않습니다. 이 URL은 Chrome의 개발자 도구 등을 사용하여 찾을 수 있습니다.

나는이 사이트의 데이터를 사용할 수있는 권한이 있다고 가정합니다. 그렇지 않으면 데이터를 스크랩하는 것이 거의 확실한 침해입니다.