2016-07-02 6 views
0

간단한 HTML DOM 파서 테이블

http://www.oxybet.com/france-vs-iceland/e/5209778/

은 내가 원하는 것이 아니라 전체 테이블 만이 테이블의 부품을 긁어하는이 웹 사이트가있다.

예를 들어 sportingbet stoiximan 및 mybet이 포함 된 행만 표시하고 모든 열은 1 x 2 열만 필요하지 않으며 빨간색으로 표시된 숫자는 빨간색 상자에서 그대로 긁어 내야합니다. 스크래핑에서 그들 옆에있는 별표를 사용하면이 작업을 수행 할 수 있습니까? 아니면 데이터베이스에서 전체 테이블을 긁어서 데이터베이스를 쿼리해야합니까? 전체 테이블을 반환

<?php 

require('simple_html_dom.php'); 


$html = file_get_html('http://www.oxybet.com/france-vs-iceland/e/5209778/'); 

$table = $html->find('table', 0); 
$rowData = array(); 


foreach($table->find('tr') as $row) { 
// initialize array to store the cell data from each row 
$flight = array(); 

foreach($row->find('td') as $cell) { 
    // push the cell's text to the array 

    $flight[] = $cell->plaintext; 
} 
$rowData[] = $flight; 
} 

echo '<table>'; 
foreach ($rowData as $row => $tr) { 
echo '<tr>'; 
foreach ($tr as $td) 
    echo '<td>' . $td .'</td>'; 
echo '</tr>'; 
} 
echo '</table>'; 

?> 

: 지금 가지고 무엇

은이 포럼에 내가 다른 비슷한 질문에서 차용이 코드입니다. 내가 원하는 것은 주로 빨간색 상자 (1 x 2 영역)에서 선택한 숫자를 감지하고 내 스크래핑에 별표를 표시하는 것입니다. 둘째로 특정 열과 행을 다 쓸지, 모든 것을 다 긁을 수 있는지 알고 싶습니다. xpath를 사용해야합니까? 누군가가 내가 이것에 시간을 보냈다 올바른 방향으로 날 가리 키도록하기위한

내가 구걸, 수동 훨씬 http://simplehtmldom.sourceforge.net/manual.htm

+0

처럼, 당신의 DOMXPath에 쿼리를 통과하지 속는하지만 다른 HTML 파서의 목록 http://stackoverflow.com/ : 나는 기압에서 일하고 있어요 프로젝트에서 촬영 질문/3577641/how-do-you-parse-and-process-html-xml-in-php 더 쉽게 사용할 수 있습니다 – Terminus

+0

'$ tr-> find ('. neg_diff') ' – pguardiario

+0

안녕하세요 음수가 아닌 빨간색 상자의 긍정적 인 "최상의 확률" 1,50 asiawatcher

답변

0

링크가 죽었다는 설명하지 않습니다. 그러나 xPath를 사용하여이 작업을 수행 할 수 있으며 원하는 셀을 색상과 순서 및 더 많은 방법으로 참조 할 수 있습니다.

이 스 니펫은 일반적인 요지를 제공합니다.

function __construct($URL) 
{ 

    // make new DOM for nodes 
    $this->dom = new DOMDocument(); 

    // set error level 
    libxml_use_internal_errors(true); 

    // Grab and set HTML Source 
    $this->HTMLSource = file_get_contents($URL); 

    // Load HTML into the dom 
    $this->dom->loadHTML($this->HTMLSource); 

    // Make xPath queryable 
    $this->xpath = new DOMXPath($this->dom); 
} 

function xPathQuery($query){ 
    return $this->xpath->query($query); 
} 

그리고 단순히 //tr[1]

+0

안녕하세요 그것은 치명적인 오류를 반환합니다 :/볼륨 1에서 개체 컨텍스트에없는 경우 $ 사용 /web/arb/5.php on line 11 – asiawatcher

+0

__construct ("http://www.matchmoney.com.gr/odds-comparison/"); div35/div/table/tbody/tr [1]/td [2] "); – asiawatcher

관련 문제