【发布时间】:2021-02-22 10:54:51
【问题描述】:
我想自动收集房地产广告网站上的特定数据。我使用包tidyverse 和jsonlite 作为起点。使用这些我也可以在一定程度上收集到我感兴趣的东西。
让我们使用这个庄园网页:https://www.sreality.cz/hledani/prodej/byty
# Libraries -----------------------------------------------------------------------------------
library(jsonlite)
library(tidyverse)
# Web Page of Estates: https://www.sreality.cz/hledani/prodej/byty/praha
# Select one region
id = 10
A = paste0("https://www.sreality.cz/api/cs/v2/estates?category_main_cb=1&category_type_cb=1&locality_region_id=", id, "&page=")
B= paste("&per_page=40&tms=1583500044717")
C = paste0(A,1,B)
D = fromJSON(C)
Res <-
D$`_embedded`$estates %>%
mutate(D$`_embedded`$estates$hash_id) %>%
as_data_frame()
Res %>% view()
这样Res 对象包含感兴趣的基本信息,例如价格,也使用正则表达式我们可以获得房间数量等。但是,有些信息我很感兴趣,例如 楼层号码 (Podlaží)、所有权类型 (Vlastnictví) 等。
让我们在一个特定的庄园抢劫
Res$hash_id[1]
将返回房地产 ID 号,然后我们可以使用该 ID 搜索此优惠。
我们会找到以下页面:
在这里我们可以看到有关 Floor (Podlaží:5. podlaží) 的信息可供使用。 然而,在 D 对象中没有关于 Floor (podlaží) 的信息,也没有关于“Vlastnictví”的信息可供使用。 我希望能够收集有关所有庄园的这些信息。 有什么办法可以在 R 中做到这一点?
【问题讨论】:
标签: r json xml web-scraping rcurl