XML (version 3.99-0.5)

getHTMLLinks: Get links or names of external files in HTML document

Description

These functions allow us to retrieve either the links within an HTML document, or the collection of names of external files referenced in an HTML document. The external files include images, JavaScript and CSS documents.

Usage

getHTMLLinks(doc, externalOnly = TRUE, xpQuery = "//a/@href",
               baseURL = docName(doc), relative = FALSE)
getHTMLExternalFiles(doc, xpQuery = c("//img/@src", "//link/@href",
                                      "//script/@href", "//embed/@src"),
                     baseURL = docName(doc), relative = FALSE,
                     asNodes = FALSE, recursive = FALSE)

Arguments

doc

the HTML document as a URL, local file name, parsed document or an XML/HTML node

externalOnly

a logical value that indicates whether we should only return links to external documents and not references to internal anchors/nodes within this document, i.e. those that of the form #foo.

xpQuery

a vector of XPath elements which match the elements of interest

baseURL

the URL of the container document. This is used to resolve relative references/links.

relative

a logical value indicating whether to leave the references as relative to the base URL or to expand them to their full paths.

asNodes

a logical value that indicates whether we want the actual HTML/XML nodes in the document that reference external documents or just the names of the external documents.

recursive

a logical value that controls whether we recursively process the external documents we find in the top-level document examining them for their external files.

Value

getHTMLLinks returns a character vector of the links.

getHTMLExternalFiles returns a character vector.

See Also

getXIncludes

Examples

Run this code
# NOT RUN {
 # site is flaky
  try(getHTMLLinks("http://www.omegahat.net"))

  try(getHTMLLinks("http://www.omegahat.net/RSXML"))

  try(unique(getHTMLExternalFiles("http://www.omegahat.net")))
# }

Run the code above in your browser using DataCamp Workspace