2009-12-22 6 views
0

Une amie m'a demandé de l'aide pour la conception de son site Web. Bien que je connaisse bien les bases de HTML, XML, Php, ASP.Net, javascript, etc., je ne suis pas vraiment à l'aise de m'asseoir et de coder à partir de zéro. Tout le travail que je fais est en Java, C++, et ainsi de suite.HTML/script/page active très basique question

Mon ami aimerait ajouter un rectangle défilant verticalement à son site - pas de problème, il y a du code pour ça partout sur internet. Voici la partie délicate - elle aimerait que le texte soit extrait dynamiquement d'un autre site Web. Ce n'est pas comme un simple fichier texte, soit - c'est une liste de noms d'un blog spécifique, donc il y aurait beaucoup de traitement de texte impliqué pour patauger tous les autres balisages, et extraire les informations pertinentes.

La façon dont je le vois, voici ses choix -

1) une sorte d'un script Perl ou somesuch qui est configuré pour fonctionner tous les jours. Ce script va visiter le blog et extraire les informations nécessaires. Il mettra ensuite à jour le texte de marque du fichier HTML avec ses nouvelles informations. 2) Une sorte de page active écrite en ASP ou PHP qui construira dynamiquement la zone de sélection (et le reste du site) chaque fois que le site est visité, effectuant essentiellement le travail du script perl à chaque fois. Cela semble avoir le potentiel d'être un peu lent. D'après ce que je comprends, ce sont ses seules options. Ai-je raison? Il n'y a pas simplement un moyen de le faire en javascript que je manque juste? Je sais que vous pouvez référencer une image à tirer dynamiquement avec le rectangle de sélection, mais ce n'est pas si simple ...

Merci.

EDIT: J'imagine où j'allais avec ma question était la suivante: À moins que je mette en œuvre cela de façon statique, cela va être assez impliqué, non? Je crois que c'est sur ma tête. C'est pourquoi je voudrais simplement copier/coller la liste de textes dans le document html. Il devrait être mis à jour chaque fois que le blog le fait, mais cela semble seulement se produire tous les quelques mois, donc ce n'est pas une corvée importante. Je réalise que c'est une solution paresseuse, mais cela vient de quelqu'un d'inexpérimenté dans le développement web.

Pour référence, ceci est le billet de blog SPECIFIC dont le texte viendra, et mon ami aimerait SEULEMENT afficher cette liste de noms qui commence lorsque vous faites défiler plusieurs paragraphes vers le bas.

http://truthnottasers.blogspot.com/2008/04/what-follows-are-names-where-known.html

+0

En remarque, il peut y avoir des problèmes d'ordre juridique si la permission de présenter l'information du blog sur le site Web n'est pas accordée. – Russell

+0

Merci d'avoir signalé cela. Je suis à peu près certain que mon ami est en contact avec le créateur du blog, et cela serait fait avec leur permission. Je vérifierai bien cependant. – Ryan

Répondre

0

Il dépend de ce que la liste des noms ressemble, à savoir à quel point l'intelligence nécessaire pour l'analyser. Mais cela pourrait être quelque chose qui pourrait être assez facilement tiré, analysé et affiché en utilisant Ajax, par exemple dans le jquery flavour.

+0

Je ne suis pas sûr de ce qui qualifie les niveaux hauts ou bas. Il n'y a pas de balises uniques autour des éléments de la liste, donc je devrais pratiquement importer le tout et le réduire. Cette partie serait assez impliquée, j'imagine. ... de toute façon, cela ressemble à quelque chose qui dépasse le cadre de quelqu'un qui ne connaît pas le développement web. – Ryan

+0

Je dirais que ce n'est pas vraiment plus complexe que de faire dans un langage serveur comme PHP ou Perl. Je suis sûr que la communauté SO vous aidera à le faire, surtout si vous choisissez d'utiliser JQuery. Les gens ici * aiment * Jquery. :) –

0

Tous les blogs que j'ai vu ont un flux RSS. Pourquoi ne pas simplement saisir le flux? ... Google fournit javascript qui ne fait que cela.

Google Ajax Feed API

+0

C'est une bonne suggestion ... Je ne suis pas sûr que cela fonctionnera dans ce cas, cependant. Mon ami ne souhaite qu'une liste provenant d'une entrée spécifique, plus ancienne, qui est mise à jour tous les quelques mois. Un flux RSS ne fonctionnerait donc pas - les dernières entrées seraient mises à jour, n'est-ce pas? Deuxièmement, elle veut seulement la liste qui est dans cette entrée, pas le préambule ... donc il y aurait encore une certaine quantité de traitement de texte impliqué. – Ryan

+0

Je suis assez sûr qu'il est possible de mettre en place un flux RSS Wordpress qui filtre par date. –

+0

Je sais blogger vous permet de vous abonner à poster des commentaires et il devrait inclure l'entrée, il ne devrait pas y avoir beaucoup de travail pour obtenir les données à partir de là – Mottie

0

La suggestion RSS sonne bien. Si vous ne pouvez pas l'obtenir dans le RSS, vous pouvez filtrer le contenu. Si vous pouviez le faire avec Javascript, je pense qu'il subirait les mêmes problèmes de ressources que votre script Perl une fois par jour et chaque méthode load/php car il devrait toujours aller chercher le contenu web en appelant le site Internet.

Une autre option consiste à utiliser asp.net et activer la mise en cache afin que lorsque d'autres visiteurs viennent sur le site au lieu d'obtenir à nouveau la page, il sert la page en cache. Vous pouvez le mettre en cache pendant 24 heures environ. Je suis sûr que d'autres langages de serveur ont des caractéristiques similaires. Fondamentalement, ce serait la même chose que votre méthode Perl une fois par jour, mais gardez-la dans un cadre web.

Une autre solution hacky serait d'utiliser un iframe et d'encadrer le contenu avec javascript afin qu'il affiche uniquement le contenu que vous souhaitez afficher. Bien sûr, vous n'aurez aucun contrôle sur la mise en forme (arrière-plan, polices) de l'iframe et si le contenu grossit ou change de position, vous aurez des problèmes.

+0

Un iFrame semble être le moyen le plus simple de le faire. J'ai mon iframe dans mon chapiteau, et il défile correctement.Ma seule question maintenant est de cadrer le contenu de manière à ce que seule la liste des noms soit affichée.Cela peut-il être fait en utilisant les attributs iframe de base, ou devrais-je faire – Ryan

+0

Nevermind - J'ai trouvé un moyen d'utiliser javascript pour le réduire à ce dont j'avais besoin, mais ensuite je l'ai testé dans d'autres navigateurs, pas si joli, je vais devoir trouver une autre solution. – Ryan