2011-07-26 14 views
2

CURLを使ってXHTMLコンテンツを解析したいと思います。 取引番号、重量、高さ、<table>タグの間でスクラップする方法。 このHTML文書の内容のみをスクラップし、CURLを使用して配列として取得する方法は?CURLを使用してHTMLファイルから内容を解析する方法は?

transactions.php 

<table border=0 cellspacing=0 width=100%> 
     <tr> 
     <td colspan="2">&nbsp;</td> 
     </tr> 
     <tr> 
     <td width="30%" class="Mellemrubrikker">Transaction Number::</td> 
     <td width="70%">24752734576547IN</td> 
     </tr> 
     <tr> 
     <td width="30%" class="Mellemrubrikker">Weight:</td> 
     <td width="70%">0.85 kg</td> 
     </tr> 
     <tr> 
     <td width="30%" class="Mellemrubrikker">Length:</td> 
     <td width="70%">543 mm.</td> 
     </tr> 
     <tr> 
     <td width="30%" class="Mellemrubrikker">Height:</td> 
     <td width="70%">156 mm.</td> 
     </tr> 
     <tr> 
     <td width="30%" class="Mellemrubrikker">Width:</td> 
     <td width="70%">61 mm.</td> 
     </tr> 
     <tr> 
     <td colspan="2">&nbsp;</td> 
     </tr>  
    </table> 

のindex.php

<?php 
$url = "http://localhost/htmlparse/transactions.php"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
$output = curl_exec($ch); 
$info = curl_getinfo($ch); 
curl_close($ch); 
//print_r($output); 
echo $output; 
?> 

このコードは、transactions.phpから全体のHTMLコンテンツを取得します。配列値として<table>の間でデータを取得する方法は?

+2

これではありません私の仕事は私のサイトです。あなたは何を試しましたか、そして期待どおりに動かなかったのは何ですか? – Randy

+0

はい私はカールを使用してみますが、私はpreg_matchに慣れていません。 –

+0

regexesを使用してHTMLを解析することについては、["RegExはXHTML内蔵タグ以外のオープンタグとマッチする"](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained - タグ/ 1732454#1732454)。 – outis

答えて

1

私は、独自の解析コードや(God forbid!)正規表現を書くのではなく、Document Object Modelを使用します。ここで

はPHPの例です:PHP Parse HTML code

3

あなたのpythonを使用するか、beautifulsoup使用することができますperlの気にしない場合はhttp://simplehtmldom.sourceforge.net/

から単純なHTML DOMを試すか、WWW-Mechanizeの

+0

は同じことを提案するためにここに来ました。 :) – iHaveacomputer

関連する問題