Télécharger une page Web avec des images et des feuilles de style et (éventuellement) l'envoyer par courrier électronique

StackOverflow https://stackoverflow.com/questions/1815592

  •  07-07-2019
  •  | 
  •  

Question

Je dois créer par programme des instantanés de pages Web à l'aide de PHP et les insérer dans un courrier électronique HTML.

J'ai essayé wget --page-requisites . Tout télécharge correctement, mais cela ne modifie pas le code source de la page HTML pour qu'il pointe vers les fichiers téléchargés plutôt que sur les originaux en ligne. En outre, ce code HTML est bien loin d'être correctement affiché dans un courrier électronique HTML.

Je voudrais savoir s'il existe des solutions toutes faites pour cela. Je serais déjà satisfait d'une solution qui prend un instantané HTML et modifie le code HTML en conséquence. Etre capable d'envoyer un courrier électronique, ce serait la cerise sur le gâteau.

Je contrôle les pages Web en cours d'instantané. J'ai donc la possibilité d'ajuster le contenu pour optimiser les résultats.

Ma plate-forme côté serveur est PHP, mais avec des paramètres très libéraux, je peux exécuter des tâches telles que les scripts wget et Perl à partir de PHP. Cependant, je n’ai pas d’accès root et je ne peux pas installer de packages ou de programmes supplémentaires.

La tâche consiste à créer un instantané de la page d'un produit chaque fois que quelqu'un passe une commande. Il existe donc une documentation sur l'apparence de la page à ce moment-là.

Était-ce utile?

La solution

wget a une option -k ( - convert-links ), qui convertira les liens et les références en contenu incorporé (comme des images). Voir par exemple utilisation avancée wget (également ici ).

Pour la partie email de votre question - je suis sûr que vous pouvez utiliser l’une des bibliothèques existantes. Par exemple, PHP a un paquet PEAR (ne se souvient pas du nom exact) pour gérer les emails HTML; Je suis presque sûr que Perl et Python ont quelque chose de similaire.

Autres conseils

Dans ce cas, vous essayez de créer une mise en miroir de site Web à l'aide de wget. La solution simple consiste à utiliser httrack , un simple outil de ligne de commande. C'est très puissant et configurable, essayez-le! Le site web httrack présente une interface graphique, mais vous n’en avez pas besoin, tout est possible à partir de la ligne de commande (ou de PHP).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top