3

この Web サイトをスクレイピングしようとしています: http://www.machinerytrader.com/list/list.aspx?ETID=1&catid=1002

最初はこれを行うために PHP を使用しようとしましたが、本文の html が暗号化されていることがわかりました。したがって、この html には、phantomjs などのヘッドレス Webkit を使用してアクセスするのが最適なようです。

私の質問は一般的なものです。PhantomJS でこのデータをスクレイピングし、そのデータを MySQL に保存する最良の方法は何ですか?

この移行の例をオンラインで見たことがないので、何も解決できません。

アップデート:

少し読んだ後、CasperJSとそのダウンロード機能を使用して生のhtmlをローカルに保存し、後でPHPを使用してそれを解析するのが理にかなっていると思います...しかし、このアプローチはかなり回り道です...

4

2 に答える 2

3

情報を取得したら、自分が管理するサイトを呼び出すだけで、ポスト リクエストを使用してデータを DB に保存できます。

casper.then(function(){
    casper.open("www.mipage.com/saveIntheDBonPost.php", {
        method: 'post',
        data:{              
            'title': ''+globalInfo.title,
            'body': ''+globalInfo.body
        }
    });
})
于 2013-12-11T21:15:54.910 に答える
1

PHP から HTML を処理できない場合を除き、PhantomJS または CasperJS で XML/JSON をファイルに出力してから、PHP から XML/JSON を解析することをお勧めします。過去に PhantomJS で構築したスクレーパーを使用して、すべての HTML を処理し、関連データをオブジェクトに格納してから、XML/JSON に変換しました。私の経験では、JSON は XML よりも使いやすく、軽量です。PHP にはjson_decode関数があるため、PHP でも非常に簡単に使用できます。

于 2013-09-24T14:02:59.093 に答える