1

URL のリスト (十分な大きさ) があり、それらの HTML コードが有効かどうかを確認したいと考えています。そうでない場合は、このページの結果のようなエラーと警告の数を知りたい: http://validator.w3.org/

したがって、RI を介してその Web ページに URL を送信し、結果を解析して必要な情報を取得したいと考えています。それを行う別の方法はありますか?

RCurl パッケージを見つけましたが、その方法がよくわかりません。どんな助けにも感謝します。

前もって感謝します。

編集:

次のコードを試してみましたが、エラーが発生してコードが停止するという不明な理由でいくつかの URL を処理できません (したがって、すべてが失われます)。

HTMLValid=foreach(i=1:nrow(allData), .combine='rbind') %dopar% {
  library(RCurl)
  library(XML)
  url=paste("http://validator.w3.org/check?uri=",
            as.character(allData$url[i]),
            "&charset=%28detect+automatically%29&doctype=Inline&group=0#preparse_warnings",
            sep="")
  w = getURL(url,httpheader = c('User-Agent' = "Mozilla/5.0 (Windows NT 6.1; rv:23.0) Gecko/20100101 Firefox/23.0"))


  doc <- htmlTreeParse(w, getDTD = F)
  r=xmlRoot(doc)
  text=r[["body"]][[2]][[4]][[1]][[1]][[2]][[1]]
  errors=strsplit(toString.XMLNode(text),' ')[[1]][1]
  warnings=strsplit(toString.XMLNode(text),' ')[[1]][3]

  c(as.numeric(errors),as.numeric(warnings))
}

特定の時間枠内にページが応答しない場合、おそらくエラーが発生します。どうすればこれを克服できますか?手続きを早くする方法はありますか?

4

1 に答える 1