怎么用R语言爬取京东商品评论
时间: 2024-01-02 15:03:42 浏览: 82
要使用R语言爬取京东商品评论,可以使用R语言中的rvest和httr包。下面是一个简单的示例代码,演示如何使用这两个包来获取京东商品评论:
```R
library(rvest)
library(httr)
# 设置请求头,模拟浏览器访问
headers = c(
'User-Agent' = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3')
# 商品ID
product_id <- "123456"
# 评论页数
page <- 1
# 请求地址
url <- paste0("https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv",
"&productId=", product_id,
"&score=0&sortType=5&page=", page,
"&pageSize=10&isShadowSku=0&rid=0&fold=1")
# 发送请求
res <- httr::GET(url, add_headers(headers))
# 提取评论
comments <- content(res, as = "text")
comments <- gsub(".*?\\(", "", comments)
comments <- gsub("\\);.*", "", comments)
comments <- jsonlite::fromJSON(comments)$comments
comments <- data.frame(nickname = sapply(comments, function(x) x$nickname),
content = sapply(comments, function(x) x$content))
```
在代码中,我们首先设置了请求头,模拟浏览器访问。然后,我们指定了要爬取的商品ID和评论页数,构造出了请求地址。接着,我们使用httr包的GET函数发送请求,并提取出评论。最后,我们将评论转换为数据框,方便进一步处理。
需要注意的是,京东网站有反爬虫机制,如果请求过于频繁,可能会被封IP或者需要输入验证码。因此,在进行大规模爬取时,需要注意控制请求频率,以免被封IP。