9
votes

Extraction * pertinente * image d'une page Web

J'ai un couple de site Web d'agrégation de pulsion de Twitter. Je prévois d'ajouter des images d'articles que je trouve sur Twitter.

Si je télécharge la page et extrayez l'image à l'aide de tag, je reçois un tas d'images; pas tous pertinents pour l'article. Par exemple, les images de bouton, des icônes, des annonces, etc. sont capturées. Comment extraire l'image accompagnant l'article? Je sais qu'il y a une solution - la sélection de liaisons Facebook fait-il assez bien.

mithun

Dupliquer de: Comment trouver et extraire "Main" Image sur le site Web


0 commentaires

4 Réponses :


1
votes

Je devinerais que Facebook a un extracteur de liens pour les différents sites qu'elle soutient. Quelque chose comme id = "contenu" -> img (1ère).

suppose que je me trompe. Semble que Facebook utilise le Ouvrir le protocole de graphique pour définir quelle image (og: image) et quelles métadonnées à utiliser.


1 commentaires

Eh bien Ogp est quelque chose que Facebook pousse afin qu'ils puissent extraire des méta-données avec précision. Malheureusement, un grand nombre de sites Web ne suivent pas cette norme.



3
votes

Je suis en quelque sorte emboîté avec une solution qui est un peu hacky mais travaille pour moi. Voici ce que je fais pour obtenir des vignettes.

  1. Dites le titre de la page que je trouve est "Ceci est un titre"
  2. Je l'utilise comme une requête sur l'API d'image Google, puis extrayez la première vignette que je trouve.

    Cela fonctionne très bien pour une majorité des cas. Vérifiez-le pour vous-même http://cricketfresh.in

    mithun

    PS: Je pense que c'est une bonne réponse. Donnera un crédit à quelqu'un qui vient avec une réponse plus élégante.


0 commentaires

8
votes

Télécharger toutes les images de la page, Blacklist Toutes les images provenant d'un serveur d'annonces. Ensuite, trouvez une certaine heuristique qui vous obtiendra la bonne image ...

Je pense que quelque chose comme:

  • la plus grande résolution + = 5pts
  • Biggest Filesize + = 10 pts
  • JPEG + = 2 pts

    Puis prenez l'image avec le plus de points et jetez le reste

    fonctionne probablement pour la majorité des sites.

    (nécessiterait un peu de violation de la heuristique)


1 commentaires

C'est l'approche classique et merci de la mettre ici. J'étais un peu hésitant à descendre de ce chemin parce que je n'étais pas sûr de combien de temps cela prendra. Comme vous l'avez dit, cela fonctionnera probablement bien après un réglage. Couple de plus de facteurs que j'ai trouvés ailleurs sont: 1] le chemin de l'image. 2] images dont la largeur et la hauteur sont spécifiées



4
votes

Ça fait longtemps. Mais cela peut aider la prochaine fois.

Vous pouvez utiliser cette API https://urlméta.org/ P >

Il est très simple d'utiliser et le résultat est le meilleur dont nous avons besoin. p>

exemple d'utilisation de l'API: P>

<?php
$url = "http://timesofindia.indiatimes.com/business/india-business/Raghuram-Rajan-not-fit-to-be-RBI-Governor-Subramanian-Swamy/articleshow/52236298.cms";

$result = file_get_contents('https://api.urlmeta.org/?url='.$url);
$array = json_decode($result,1);
print_r($array['meta']['image']);

?>


1 commentaires

urlméta.org est assez cool. Fonctionne pour presque toutes les pages de produits de la ecommerce.