前提・実現したいこと
LINEやTwitterで実現されているURLを入力したら画像とタイトル,詳細を取得したいです.
そこでmetadata_fetchパッケージを使用しています.
問題
しかし,私の取り扱いたいwebサイトでは,このパッケージで取得できない場合の方が多く困っています.
例えば,Amazon PrimeやU-Nextの作品ページなどです.
U-Nextのようなページは,javascriptでhtmlを生成していて難易度が高そうなので,最低限,Amazon Primeのようなページだけでも取得したいです.
現状,上記パッケージでは画像とdescriptionが取得できません.それは,Amazon PrimeにOGP画像が設定されていないからだと考えています.(descriptionは設定されていますが,なぜか取得できません.この辺はパッケージの実装の問題だと思っています.)Amazon Primeのような画像が設定されていなサイトは他にもたくさんあると思います.そのため,webページの一番主要な画像を1つだけ取得する方法が知りたいです.
試したこと
flutter_htmlパッケージを使って以下のように愚直に画像を取得することはできました.
dart
1final response = await http.get(Uri.parse('https://www.amazon.co.jp/gp/video/detail/B08SJ25ZGK/ref=atv_hm_hom_1_c_DEaieV_4_1')); 2final document = parser.parse(response.body); 3final elements = document.getElementsByClassName('DVWebNode-detail-atf-wrapper DVWebNode'); 4final list = elements.map((element) => element.getElementsByTagName("img")[0].attributes['src']).toList(); 5print(list[0]);
質問
しかし,1つ1つのwebサイトに対してDVWebNode-detail-atf-wrapper DVWebNode
のようなタグを探さなければいけなくなります.それは非常に大変で現実的ではないので,何か他に良い方法など知っておられましたらご教授ください.
あなたの回答
tips
プレビュー