使用R的Web爬虫

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (25)

我想使用R程序为网站“ https://www.latlong.net/convert-address-to-lat-long.html ” 构建一个webcrawler ,它可以访问带有地址参数的网站,然后获取生成的来自该网站的经度和纬度。这将重复我所拥有的数据集的长度。

由于我是网络抓取域的新手,我会寻求指导。

提问于
用户回答回答于

在过去,我使用了一个名为IP stack(ipstack.com)的API。

示例:包含一列名为“ipAddress”的IP地址的数据框“d”

for(i in 1:nrow(d)){
  #get data from API and save the text to variable 'str'
  lookupPath <- paste("http://api.ipstack.com/", d$ipAddress[i], "?access_key=INSERT YOUR API KEY HERE&format=1", sep = "")
  str <- readLines(lookupPath)

  #save all the data to a file
  f <- file(paste(i, ".txt", sep = ""))
  writeLines(str,f)
  close(f)

  #save data to main data frame 'd' as well:
  d$ipCountry[i]<-str[7]
  print(paste("Successfully saved ip #:", i))
}

在这个例子中,我特意在每个IP的Country位置之后,它出现在API返回的数据的第7行(因此str [7])

此API允许您每月免费查找10,000个地址,这对我来说已经足够了。

扫码关注云+社区

领取腾讯云代金券