Scrambling data from html table

I am trying to extract locally invasive plant species data from a CABI-invasive compendium species using the rvest package.

After looking through several guides, I found out that I should easily copy data from tables. However, I run into difficulties all the time.

Let's say I need location data for a view of Brassica tournefortii . I should be able to use this code, which uses the methods described here , to get detailed information about the locations that have been registered.

library(rvest) isc<-read_html("http://www.cabi.org/isc/datasheet/50069") isc %>% html_node("#toDistributionTable td:nth-child(1)") %>% html_text() 

However, by running this code, I get an error

 Error: No matches 

I am completely new to webscraping. Am I doing something terribly wrong?

+5
source share
1 answer

First of all, I wish I could promote you more. Finally, a scrambling question that is not related to $ SPORTSBALL or $ MONEY! :-)

This site is evil. It uses embedded namespaces to deal with, which also means using the xml2 package:

 library(rvest) library(xml2) isc <- read_html("http://www.cabi.org/isc/datasheet/50069") ns <- xml_ns(isc) xml_text(xml_find_all(isc, xpath="//div[@id='toDistributionTable']/table/tbody/tr/td[1]", ns)) ## [1] "ASIA" "Azerbaijan" ## [3] "Bhutan" "China" ## [5] "-Tibet" "India" ## [7] "-Delhi" "-Indian Punjab" ## [9] "-Rajasthan" "-Uttar Pradesh" ## [11] "Iran" "Iraq" ## [13] "Israel" "Jordan" ## [15] "Kuwait" "Lebanon" ## [17] "Oman" "Pakistan" ## [19] "Qatar" "Saudi Arabia" ## [21] "Syria" "Turkey" ## [23] "Turkmenistan" "United Arab Emirates" ## [25] "Uzbekistan" "Yemen" ## [27] "AFRICA" "Algeria" ## [29] "Egypt" "Libya" ## [31] "Morocco" "South Africa" ## [33] "Tunisia" "NORTH AMERICA" ## [35] "Mexico" "USA" ## [37] "-Arizona" "-California" ## [39] "-Nevada" "-New Mexico" ## [41] "-Texas" "-Utah" ## [43] "SOUTH AMERICA" "Chile" ## [45] "EUROPE" "Belgium" ## [47] "Cyprus" "Denmark" ## [49] "France" "Greece" ## [51] "Ireland" "Italy" ## [53] "Spain" "Sweden" ## [55] "UK" "-England and Wales" ## [57] "-Scotland" "OCEANIA" ## [59] "Australia" "-Australian Northern Territory" ## [61] "-New South Wales" "-Queensland" ## [63] "-South Australia" "-Tasmania" ## [65] "-Victoria" "-Western Australia" ## [67] "New Zealand" 
+8
source

Source: https://habr.com/ru/post/1247228/


All Articles