尝试提取下一页http://www.thinkbabynames.com/popular/1/us上的所有NAME
我在R中使用rvest软件包。
以下代码可让我获得出现在“前10名”和“趋势”部分的名称。
url <- http://www.thinkbabynames.com/popular/1/us
get_names <- function(html){
names <- html %>%
read_html() %>%
html_nodes('a b') %>%
html_text()
names <- get_names(url)
对于“ Top 11-2000”中的名称,我使用了以下代码,但它返回了一个空字符。
get_names2 <- function(html){
html.read <- html %>%
read_html() %>%
html_nodes(xpath='//*[@id="load"]/table/tbody/tr/td[2]/a') %>%
html_text()
}
names2 <- get_names2(url)
我是HTML代码的新手,任何建议将不胜感激
答案 0 :(得分:0)
我也是HTML和rvest
的新手,这是我的探索。希望能对您有所帮助,并将其余的留给您:
url <- 'http://www.thinkbabynames.com/popular/1/us'
name = read_html(url)
name %>%
html_nodes("table") %>%
html_table(fill= TRUE) %>%
.[[9]] -> top2000
> head(top2000)
X1 X2
1 Rank Name
2 11-20. Alexander, Oliver, Daniel, Lucas, Matthew, Aiden, Jackson, Logan, David, Joseph
3 21-30. Samuel, Henry, Owen, Sebastian, Gabriel, Carter, Jayden, John, Luke, Anthony
4 31-40. Isaac, Dylan, Wyatt, Andrew, Joshua, Christopher, Grayson, Jack, Julian, Ryan
5 41-50. Jaxon, Levi, Nathan, Caleb, Hunter, Christian, Isaiah, Thomas, Aaron, Lincoln
6 51-60. Charles, Eli, Landon, Connor, Josiah, Jonathan, Cameron, Jeremiah, Mateo, Adrian