R爬取对应IP位置数据

用的淘宝接口。
不过貌似封IP,查到第三个就要用20s左右。专业的反爬虫什么的我也不会,晚上放在服务器上跑数据,业务上凑活用吧。

# Get_areadata_by_IP("60.191.4.194")
## 传入IP返回相关数据
library(RCurl)
library(bitops)
Get_areadata_by_IP <- function(ip_element) {
  tryCatch(
    expr = {
      # ip_element <- "39.186.159.103"
      if (!is.na(ip_element)) {
        url <- 'http://ip.taobao.com/service/getIpInfo.php?ip='
        Ip_Postition <- getURL(paste(url, ip_element, sep = ''))
        json_list <- rjson::fromJSON(Ip_Postition)$data
        country <- "default"
        area <- "default"
        
        province <-
          "default"
        city <- "default"
        carrier_operator <- "default"
        
        # 国家
        country <- json_list$country
        # 区域
        area <- json_list$area
        #省份
        province <- json_list$region
        # 市
        city <- json_list$city
        # 运营商
        carrier_operator <- json_list$isp
        return(
          Ip_Postition_Data = data.frame(
            Ip = ip_element,
            Ip_country = country,
            Ip_province = province,
            Ip_city = city,
            Ip_carrier_operator = carrier_operator
          )
        )
      } else{
        return(
          Ip_Postition_Data = data.frame(
            Ip = "no_data",
            Ip_country = "no_data",
            Ip_province = "no_data",
            Ip_city = "no_data",
            Ip_carrier_operator = "no_data"
          )
        )
      }
      
    },
    error = function(e) {
      return(
        Ip_Postition_Data = data.frame(
          Ip = ip_element,
          Ip_country = "error",
          Ip_province = "error",
          Ip_city = "error",
          Ip_carrier_operator = "error"
        )
      )
    }
  )
}

2017-10-16 于杭州

好的,这是一个关于R语言爬取图书榜单并进行数据预处理的问题。我可以为您提供一些基本的步骤和示例代码。 首先,您需要确定您要爬取的图书榜单的网站和页面链接。然后,使用R语言中的“rvest”包来进行网页爬取。以下是一个示例代码: ```r library(rvest) # 定义页面链接 url <- "https://book.douban.com/top250?start=0" # 获取网页内容 page <- read_html(url) # 使用CSS选择器获取图书信息 book_titles <- page %>% html_nodes(".pl2 a") %>% html_text() book_authors <- page %>% html_nodes(".pl + span") %>% html_text() book_ratings <- page %>% html_nodes(".rating_nums") %>% html_text() # 将获取到的数据存储在数据框中 book_data <- data.frame(title = book_titles, author = book_authors, rating = book_ratings) # 输出数据框 print(book_data) ``` 此代码将获取豆瓣图书榜单的前250本图书的标题、作者和评分,并将其存储在名为“book_data”的数据框中。 接下来,您需要进行数据处理和清洗,以便将数据用于您的分析和可视化。这可能包括删除重复项、处理缺失值、转换数据类型等。 以下是一个简单的代码示例,用于删除重复项: ```r # 删除重复项 book_data <- unique(book_data) ``` 这将删除数据框中的所有重复行。 最后,您可以使用R中的各种包和工具来分析和可视化您的数据。例如,您可以使用“ggplot2”包来创建漂亮的图表: ```r library(ggplot2) ggplot(book_data, aes(x = rating)) + geom_histogram() ``` 此代码将创建一个直方图,显示每个评分的图书数量。 希望这些示例代码能够帮助您开始使用R语言进行图书榜单数据预处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值