助けてください!:(
次のことを行うための PHP スクリプトを開発しようとしています。
- リモート HTML ページを破棄し、選択したデータ (特定のテーブル/div など) を抽出します。
- 抽出されたデータを使用して、データベース (MySql など) に保存します。
誰でも助けることができますか?
早急なフィードバックに感謝いたします。
cUrlを使用してページを取得します。
シンプルな HTML DOM パーサーを使用して、必要なデータを見つけます。
最終的には、 iconvを使用して、フェッチしたデータをデータベースの文字セットに変換します。
そして、データを保存するための mysql 接続と単純なクエリだけです (エスケープすることを忘れないでください)。
ここに仕事をするいくつかのコードがあります:
// Fetch page
$file = fopen($url, "r");
$data = '';
while (!feof($file)) {
// Extract the data from the file / url
$data .= fgets($file, 1024);
}
$doc = new DOMDocument();
$doc->loadHtml($data);
// XPath lets you search DOM documents easily
$xpath = new DOMXPath($doc);
$nodelist = $xpath->query('//table[class=mytable]');
これにより、クラス「mytable」を持つすべてのテーブルに対して、反復可能なノード リストが取得されます。
DomDocumentとXPathを見てください。
偶然にも、最近私は同様のプロジェクトに取り組んできました。私の最終的な解決策は
どちらも強くお勧めします。