2012-07-29 3 views
1

Ce n'est pas la première fois que j'ai rencontré un problème lors de l'utilisation de htmlParse dans la bibliothèque XML, mais dans le passé je viens d'abandonner et d'utiliser un pour analyser ce dont j'avais besoin. Je préfère le faire en analysant le XML/XHTML, puisque nous savons tous que les expressions rationnelles ne sont pas des parseurs. Cela dit, je trouve que les messages d'erreur des commandes d'analyse ne sont pas utiles au mieux, et je n'ai aucune idée de la marche à suivre. Par exemple:Débogage de htmlParse dans la bibliothèque XML de R

> htmlParse(getForm("http://www.takecarehealth.com/LocationSearchResults.aspx", location_query="Deer Park",location_distance=50)) 
Error in htmlParse(getForm("http://www.takecarehealth.com/LocationSearchResults.aspx", : 
    File 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="ctl00_Head1"> 
     <title></title> 
     <script language="JavaScript" type="text/javascript"> 
      var s_pageName = document.title; 
      var s_channel = "Take Care"; 
      var s_campaign = ""; 
      var s_eVar1 = "" 
      var s_eVar2 = "" 
      var s_eVar22 = "" 
      var s_eVar23 = "" 
     </script> 
     <meta name="keywords" content="take care clinic, walgreens clinic, walgreens take care clinic, take care health, urgent care clinic, walk in clinic" /> 
     <meta name="description" content="Information about simple, quality healthcare for the whole family from Take Care Clinics at select Walgreens, including Take Care Clinic hours, providers, offers, insurance and quality of care." /> 
     <link rel="shortcut icon" hre 

Je suis heureux qu'il voit quelque chose là-dedans, mais où dois-je forer vers le bas passé « Erreur: Fichier »?

Notez que, pour autant que je sache, c'est du XHTML bien formé. Quand je visite le link manually, je peux lancer xpaths dessus et Firebug ne se plaint pas.

Comment est-ce que je débogue des erreurs de htmlParse comme ceci?

+0

@ttmaccer Intéressant. donc c'était un problème de code mal formé après tout. –

+0

Cela a beaucoup de sens. Merci. –

Répondre

3

Téléchargement d'abord passer ensuite paquet XML semble fonctionner

test<-getForm("http://www.takecarehealth.com/LocationSearchResults.aspx", location_query="Deer Park",location_distance=50) 
htmlParse(test,asText=T) 

ou directement

htmlParse(getForm("http://www.takecarehealth.com/LocationSearchResults.aspx", location_query="Deer Park",location_distance=50),asText=T) 

semble aussi très bien

+0

Donc je suppose que c'était l'argument asText qui l'a fait? –

Questions connexes