私の質問が適切でなかったら本当に申し訳ありませんが、API を使用する以外に外部 Web サイトからデータを収集する簡単な方法が見つかりませんでした。何かを見逃しているように感じますが、何がわからないのですか。データを取得できる方法を検索しましたが、理解できませんでした。現在、php と javascript を使用しています。外部サイトから自分のサイトにデータを取得する簡単な方法を探しています。外部ソースからデータを取得する方法について説明していただければ、本当にありがたいです。
3 に答える
それは私の意見では非常に大きな分野です。私はある程度「削る」ことを含む多くの趣味のプロジェクトを行ってきました。多くのトリックがあり、新しいウェブサイトに取り組むたびに創造性を発揮する必要があります。
すべての人のための単一のガイドは存在しないと思います。
Web サイトが AJAX を使用してコンテンツを非同期的にロードするか、Web サイトが最初に HTML でコンテンツを提供するかの 2 つの主なことがあります。
2 番目のケースの場合、HTML を取得して解析するのは非常に簡単ですcurl
。regular expressions
それが最初のケースである場合、オプションがありますが、Chrome でネットワーク呼び出しを調べて、実際のデータがダウンロードされる場所を確認できると思います。たとえば、非常に幸運な JSON 形式や、リバース エンジニアリングが必要なカスタム形式などです。
実際のマークアップを制御できず、多くのことに依存する必要があるため、この種の「プログラミング」に慣れるのが非常に難しい理由は理解できます。スクリプトのフォールト トレランスを最大化する方法で仮定を選択する必要があります。
静的コンテンツからデータをスクレイピングする方法に関する実際の基本的なチュートリアルを探していた場合は申し訳ありませんが、これは遭遇する可能性のある一般的な説明です.
AJAX 経由でコンテンツをロードせず、比較的優れた HTML マークアップを持つ Web サイトを見つけることをお勧めします。次に、curl と regexps を使用してスクレイピングし、そこから上に登って途中でトリックを収集します。
注: ある種の DOM アナライザーまたはそれらが呼び出されたものを選択して、正規表現の代わりに使用することができますが、スターターにとって余分に必要だとは思いません。
もちろん方法はありますが、ページの HTML フォーマットに大きく依存するため、はるかに危険です (つまり、サイトのレイアウトが変更されると、機能しなくなります)。CURL のおかげで情報を取得したいページをロードし、HTML の結果を解析するだけです (PHP で HTML パーサーを検索してください)。
ただし、どの HTML タグで情報を検索するかをスクリプトに指示する必要があります。
手始めに、curl を使用して他の Web サイトから html を取得できます。ここをチェックhttp://php.net/manual/en/book.curl.php
http://sourceforge.net/projects/snoopy/またはhttp://cuab.deもチェックしてください。
この例も見たいと思うでしょうhttp://www.bitrepository.com/how-to-create-a-simple-web-data-extractor.html
そこにはたくさんのライブラリがあります。基本的に、Web ページを大きな STRING として取得し、文字列操作技術を使用して解析することで、画像や URL などの手がかりを探し始めます。
これは、ウェブサイトhttp://www.geekality.net/2011/05/12/php-how-to-get-all-images-from-an-html-page/から画像を取得する例です。
セキュリティ上の理由から、一部の Web サイトでは curl fopen が許可されていないことも考慮してください。彼らはあなたがそこで仕事を盗むことを望んでいません。Web サイトからコンテンツを取得するタイミングにも制限があり、ある URL から別の URL に狂ったように望んでいるため、Web サーバーが IP をブロックする可能性があります。
これは、Google のトピックであり、ハッカーのトピックであり、一般に、インターネットと呼ばれる巨大なグラフをクロールする方法に関する非常に大規模な科学的トピックです。
気をつけて楽しんでください。