2012-12-17 8 views
0

J'essayais depuis plus de 2 heures d'importer l'horodatage du lien zap2it.com vers ma feuille de calcul google.



Voici le lien Je suis en train de ImportXML de.
http://affiliate.zap2it.com/tvlistings/ZCGrid.do?zipcode=78238&lineupId=DISH641:-



Voici ce que je suis tryign importer
enter image description hereGoogle Spreadsheet importxml timestamp

Voici ce que j'ai essayé jusqu'à présent

=importxml("http://affiliate.zap2it.com/tvlistings/ZCGrid.do?aid=dish&pkg=8388608&fromProvider=true&zipcode=78238&x=52&y=18"&B1,"//body//div[3]/div/div/div[3]/div/div") 




EDIT j'ai pu améliorer et obtenir de meilleurs résultats

//body//div[3]/div/div/div[1]//* 

mais il montre l'horodatage de toute la page. pas exactement ce dont j'ai besoin.

Répondre

1

[La première complication est que le flux de données renvoyé à partir de déréférencement que URI n'est pas réellement XML; il a plusieurs milliers d'erreurs de forme (esperluettes non échappées dans les URI, esperluettes non échappées et signes inférieurs aux signes dans les scripts, du HTML intégré, quelques erreurs diverses). Puisque vous n'êtes pas toutefois signaler des problèmes de cela, je suppose que quelque part entre le serveur et votre personne d'expression XPath fait du rangement.]

Je pense que vous obtiendrez de meilleurs résultats si vous utilisez le id et class attributs largement utilisés dans le document. Le matériel que vous voulez ressemble à ceci dans la source (vous pouvez utiliser n'importe quel outil de débogage basé sur un navigateur pour le trouver, j'ai utilisé le 'Web Inspector' dans Safari); J'ai mis en retrait pour rendre la structure plus visible et j'ai corrigé quelques erreurs de forme dans l'un des éléments a (espace blanc manquant entre les paires attribut-valeur).

<div class="zc-tn" id="zc-tn-top"> 
    <div class="zc-tn-i"> 
    <a href="ZCGrid.do?fromTimeInMillis=1355781600000" 
     class="zc-tn-l" 
     title="Move the grid three hours earlier"></a> 
    <div class="zc-tn-c"> 
     <span class="zc-tn-z" 
      title="Central Standard Time">CST</span> 
     <div class="zc-tn-t">7:00 PM</div> 
     <div class="zc-tn-t">7:30 PM</div> 
     <div class="zc-tn-t">8:00 PM</div> 
     <div class="zc-tn-t">8:30 PM</div> 
     <div class="zc-tn-t">9:00 PM</div> 
     <div class="zc-tn-t">9:30 PM</div> 
    </div> 
    <a href="ZCGrid.do?fromTimeInMillis=1355803200000" 
     class="zc-tn-r" 
     title="Advance the grid three hours"></a> 
    </div> 
</div> 

Une simple recherche vérifie que la valeur zc-tn-top est en effet unique en tant que valeur d'identité dans le document. Étant donné que, une simple expression XPath pour récupérer tous les éléments dont l'affichage est encerclée dans votre image est (en supposant xhtml est lié à l'espace de noms XHTML):

//xhtml:div[@id='zc-tn-top']//xhtml:div[@class='zc-tn-t'] 

Il semble de votre question si votre évaluateur XPath est namespace -challenged ou espace de noms oublieux, il vous faudra peut écrire ce que

//div[@id='zc-tn-top']//div[@class='zc-tn-t'] 
+0

Merci beaucoup, je ne savais pas que je pouvais id et la classe direclty sans appeler le corps, à seulement 1 autre question, pourquoi puis-je ajouter '//a' en fin de la faire sortir en une seule ligne au lieu de lignes. – Mowgli

+1

Ajout de "' // // a' "à la fin de l'expression XPath ne fera pas correspondre l'ensemble des éléments div avec class =" zc-tn-t "mais l'ensemble des éléments' a' à l'intérieur d'eux (qui dans ce cas est l'ensemble vide). Je ne sais pas comment répondre à votre question sur les lignes simples et multiples parce que je ne sais pas ce que vous voulez dire. –

+0

Merci, je comprends maintenant. – Mowgli

Questions connexes