ユーザーがAmazonやZapposなどのeコマースサイトにURLを貼り付けて、そのページからメインの製品画像を取得できるようにする機能をAngular.jsWebアプリに組み込むことを検討しています。私の計画は、URLをExpress APIに投稿し、サーバーで画像検索を処理することです。
私の最初の計画は、生のhtmlをダウンロードし、htmlparserで解析し、soupselectですべてのhtml画像要素を選択することでした。src属性を取得します。理想的には、特定の小売業者のサイトの値をハードコードするだけでなく、(特定の既知のcssクラス名を使用して)任意のサイトで機能するソリューションを実装したいと思います。私が行った仮定の1つは、ページ上の最大の画像が主な製品画像である可能性が高いというものでした。このロジックを使用して、画像をファイルサイズで並べ替えることを決定しました。私のアイデアは、各画像のsrcurlを使用してhttpheadリクエストを作成し、content-lengthヘッダープロパティを使用して画像のサイズを決定することでした。これまでのところ、このアプローチはうまく機能していますが、ヘッドリクエストだけであっても、これほど多くのhttpリクエストを行わないようにしたいと思います。
これを行うためのより良い方法があると思います。PhantomJSのようなものを使用してページ全体をロードし、そのように解析する方が簡単でしょうか?私はこの作業をできるだけ速くして、すべての画像をダウンロードしないようにしようとしていました。誰か提案はありますか?