微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 R 中抓取 Zillow,并使用 Selector Gadget 查找纬度和经度

如何解决在 R 中抓取 Zillow,并使用 Selector Gadget 查找纬度和经度

我正在尝试使用 R 的选择器小工具工具,使用 rvest 和 dplyr 包来抓取 Zillow 房屋的纬度和经度。

我正在尝试查找每个列表的纬度和经度,并将其存储到我使用以下代码创建的数据框中。这就是我现在所拥有的。有人可以帮忙吗?

import { config,S3 } from 'aws-sdk';
import {
  Buckets,GetobjectOutput,ListBucketsOutput,PutObjectRequest 
} from 'aws-sdk/clients/s3';
import { createReadStream } from 'fs';

解决方法

您可以从页面上的脚本标签中提取所有列表信息(尽管我认为 zillow 提供了一个更好的 API)

library(rvest)
library(purrr)

page <- read_html('https://www.zillow.com/arlington-va/2_p/?searchQueryState=%7B%22pagination%22%3A%7B%22currentPage%22%3A2%7D%2C%22usersSearchTerm%22%3A%22arlington%2C%20virginia%22%2C%22mapBounds%22%3A%7B%22west%22%3A-77.64070736914063%2C%22east%22%3A-76.56130063085938%2C%22south%22%3A38.56616517053261%2C%22north%22%3A39.19411978197601%7D%2C%22regionSelection%22%3A%5B%7B%22regionId%22%3A30258%2C%22regionType%22%3A6%7D%5D%2C%22isMapVisible%22%3Afalse%2C%22filterState%22%3A%7B%22ah%22%3A%7B%22value%22%3Atrue%7D%2C%22sort%22%3A%7B%22value%22%3A%22globalrelevanceex%22%7D%7D%2C%22isListVisible%22%3Atrue%7D')

data <- page %>% html_nodes('.photo-cards script') %>%  html_text() 
info <- map(data,~jsonlite::parse_json(.,simplifyVector = T))
mask <- map(info,~ 'geo' %in% names(.) ) %>% unlist() 
info <- info[mask] # filter for only those with lat/lon in geo

df <- map_df(info,~ {
  data.frame(
    Name = .$name,Latitude <- .$geo$latitude,Longitude = .$geo$longitude,stringsAsFactors = FALSE
  )
})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。