我正在通过网络进行报废" fotocasa"在西班牙。
我下载包含价格的项目,执行以下操作:
url<-"https://www.fotocasa.es/es/comprar/casas/madrid-provincia/todas-las-zonas/l/3?latitude=40.415&longitude=-3.7104&combinedLocationIds=724,14,28,0,0,0,0,0,0"
idealista <- html(url)
price<-idealista %>%
html_nodes("span") %>% #item de precios
html_text()
我有一个类似的向量:
>price
...
[97] "hace 1 hora" "198.500€"
[99] "198.500€" "€"
[101] "4 habs." "128 m²"
[103] "" ""
[105] "" ""
[107] "" "hace 1 hora"
[109] "6.000.000€" "6.000.000€"
[111] "€" "5 habs."
[113] "641 m²" ""
[115] "" ""
[117] "" ""
[119] "hace 1 hora" "1.800.000€"
[121] "1.800.000€" "€"
[123] "Ha bajado 100.000€" "5 habs."
[125] "800 m²" ""
[127] "" ""
[129] "" ""
[131] "hace 1 hora" "690.000€"
[133] "690.000€" "€"
[135] "Ha bajado 410.000€" "3 habs."
[137] "320 m²" ""
[139] "" ""
...
我只想要包含欧元符号的值,所以我要做的是:
>price<-price[grepl("€",price)]
但我得到的是:
> price
character(0)
因为它不承认欧元符号。如果我创建一个包含欧元符号的向量,并且我使用函数grepl
,它可以工作!但是如果我直接从报废中尝试它就不起作用。
我该怎样做才能制作&#34; grepl
&#34;函数直接从报废中识别出这个符号吗?
结果必须是这样的:
> price
[1] "198.500€" "198.500€" "6.000.000€" "6.000.000€" "1.800.000€"
[6] "1.800.000€" "Ha bajado 100.000€" "690.000€" "690.000€" "Ha bajado 410.000€"
[11] "2.450.000€" "2.450.000€" "Ha bajado 450.000€" "1.350.000€" "1.350.000€"
[16] "1.200.000€" "1.200.000€" "2.275.000€" "2.275.000€" "2.200.000€"
[21] "2.200.000€" "540.000€" "540.000€" "975.000€" "975.000€"
[26] "3.750.000€" "3.750.000€" "1.100.000€" "1.100.000€" "1.800.000€"
答案 0 :(得分:1)
我们可以使用unicode
res <- price[grepl("\u20AC",price, perl = TRUE)]
length(res)
#[1] 91
作为OP的代码提供
any(grepl("€",price))
#[1] FALSE