R 拉网台

R 拉网台,r,web-scraping,rvest,R,Web Scraping,Rvest,我试图从下一页()中浏览表格,即50个德国城市的自行车指数(如果你点击“Alle Ergebnisse+”,你将看到所有50个城市) 我特别需要一些专栏(“Bewertung spezielle Radwege&Qualität der Radwege”、“基础设施投资与质量”、“基础设施投资与质量”、“Fahrrad共享分数”、“Autofreier标签”、“临界质量Fahrrad aktionen”、“事件分数”) 这就是我所尝试的: library(rvest) num_link=&quo

我试图从下一页()中浏览表格,即50个德国城市的自行车指数(如果你点击“Alle Ergebnisse+”,你将看到所有50个城市)

我特别需要一些专栏(“Bewertung spezielle Radwege&Qualität der Radwege”、“基础设施投资与质量”、“基础设施投资与质量”、“Fahrrad共享分数”、“Autofreier标签”、“临界质量Fahrrad aktionen”、“事件分数”)

这就是我所尝试的:

library(rvest)
num_link="https://www.coya.com/bike/fahrrad-index-2019"
num_page= read_html(num_link)
xyc= num_page %>% html_nodes("._1200:nth-child(2)") %>% html_text()
我尝试了Selectorgadget,但不幸的是我得到了一个长字符串中的表的所有值(str_split很有挑战性,因为数字中的逗号与数字之间的逗号混在一起:

      "[1] "Ergebnisse für DeutschlandKriminalitätInfrastrukturFahrrad-SharingEvents#StadtLandSizeTotal Score1OldenburgDeutschlandK57,90,4271,94588,3594,4684,5227,153,0590,3454,1836,4515,0525,75N31,5216,2669,122MünsterDeutschlandK58,740,3910,53445,5883,0488,4328,1551,2388,0453,0535,522630,76N23,8412,4265,933Freiburg i. Breisg.DeutschlandK59,350,"
如果可能的话,有人能帮我清理一下表格吗?特别是一些特定列的值(见上文)?非常感谢任何帮助/提示

先谢谢你。
(我是新手,请温柔些。)

这里有一种解决这个难题的方法。虽然行名使用了很多图标,所以我只留下空的列名。你可以创建一个向量名,然后使用

名称(表内容)加载所需包:xml2
库(dplyr,warn.conflicts=FALSE)
图书馆(purrr)
#下面是重用代码的例子
链接数%
#提取与每行对应的节点
html_节点(css=“.bike collection item”)%%>%
#然后映射接收每行的函数并将它们转换为表
#把它们绑在一张桌子上
map_dfr(功能(x){
#由于没有将列名馈送到map_dfc,因此抑制消息
抑制消息(
x%>%html_节点(“.td”)%>%
map_dfc(函数(x){x%>%html_text})
)
})
这里是提取的内容
#>#tible:70 x 21
#>    ...1  ...2  ...3  ...4  ...5  ...6  ...7  ...8  ...9  ...10 ...11 ...12 ...13
#>                
#>1旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的…旧的
#>2 2缪恩斯…申索…K 58,74 0391 0,53 445,…83,04 88,43 28,15 51,23 88,04
#>3三个自由…氘…K 59,35 0,34 2,27 962,…88,87 77,52 32,57 48,11 93,49
#>4 4竹子…重油…K 55,59 0302 0 456,…89,04 92,66 30,29 47,74 93,75
#>5 Gött…Deut…K 62,66 0,28 3,07 379,…92,8 80,99 23,03 48,07 89,18
#>6 Heid…Deut…K 63,14 0,22 1,21 394,…90,39 88,33 29,02 47,88 94,21
#>7卡尔…氘…K 57,39 0,25 4,23 725,…90,35 71,62 18,75 46,33 93,93
#>8八重…轻…K 67,36 0,21 0 522,…85,89 90,97 20,55 49,2 89,78
#>9 9孔…氘…K 62,77 0,22 4,6 121,…93,62 76,98 23 48,49 94,09
#>10 10溴…氘…M 58,86 0,21 1,38 334,…87,34 87,15 18,64 59,78 94,64
#>#…再增加60行和8个变量:…14,…15,
#> #   ...16 , ...17 , ...18 , ...19 , ...20 ,
#> #   ...21 

由(v1.0.0)于2021-04-08创建。您可能希望一次创建一个表,然后一次创建一个列,这样您就可以创建一个数据帧。例如:

col1 <- num_page %>% html_nodes(paste0(".w-dyn-item :nth-child(2) div")) %>% 
                     html_text()
col1%html\u节点(粘贴0(.w-dyn-item:nth-child(2)div))%>%
html_text()
选择器小工具很漂亮,但我通常需要做很多实验才能得到正确的选择器

col1 <- num_page %>% html_nodes(paste0(".w-dyn-item :nth-child(2) div")) %>% 
                     html_text()