データを複製したいPHPベースのWebサイトがあります。
問題は、ウェブサイトのデータに会社名検索ページ (www.example.com/companynamesearch.php) からしかアクセスできないことです。
結果は同じ URL の下に表示されるため、データをクロールする別の会社名の URL はありません。
サイトからデータを抽出する簡単な方法を提案できる人はいますか?
ありがとう
選択した言語が php の場合は、内部検索エンジンのフォームを自動化できるようにする、curl の自動フォーム送信機能を確認する必要があります。
ここに便利なスタックオーバーフローの回答があります curlとphpを使用してフォームに自動的に入力します
または、これらの基本的なチュートリアルを参照して開始することもできます: http://phpsense.com/2007/php-curl-functions/ http://devzone.zend.com/160/using-curl-and-libcurl-with -php/
php で curl を使用すると、かなりの時間を節約できますが、サイトの所有者がサイトをスクレイピングすることを望んでいない場合は、苦労する可能性があることに注意してください。もちろん、考えるべき著作権の問題などもあります。
まず、データをクエリする必要があります。@JonathanM の提案に従って、データが本当にこのページにあり、データが AJAX 経由で受信されるかどうかを確認してください。Fiddler などのツールやブラウザーの開発者ツールを使用して、これを監視できます。
データが AJAX 経由で入ってくることがわかったら、準備は完了です。おそらくJSONですが、どのタイプでもかまいませんので注意してください。
データがこのページにあり、ページが POST データによってクエリされる場合、それらの POST 要求を作成してからページを解析する必要があります。今、これを自分でしないでください。DOMDocument を使用してページを掘り下げてください。詳細については、この質問を参照してください: How do you parse and process HTML/XML in PHP?
をグーグルで検索してみましたsite:www.example.com
か?すべてのページのリストが返される場合があります。
サイトマップを送信したか、Google が別の方法を見つけた可能性があります。