首页 > 解决方案 > 使用模式获取特定以提取 R 中字符串的特定部分

问题描述

我有一个数据框,其中包含一个“URL”列和一个“从评论中提取”列。我想从网站上获得完整的评论,而不是获得其余的 html 代码。

我需要 R 在 html 代码中定位提取,然后提取由前一个“<div”和下一个“/div>”分隔的所有文本。这看起来像:(不需要的文本)<div (...) extract (...) /div>(不需要的文本)

这是我尝试过的尝试

library(XML)
library(xml2)
library(RCurl)
library(stringr)
df$Review <- str_extract_all(RCurl::getURL(df$Link, ssl.verifypeer = TRUE),paste0(c("^(<div).{1,1000000}"),paste(df$Estratto),c(".{1,1000000}(/div>)")))

这个问题可能是我告诉 R 提取以“<div”开头并以“/div>”结尾的字符串,而不是“提取包含我的字符串的完整 div 类”。

我该如何进行?

标签: htmlrtext-miningstringrrcurl

解决方案


这对你有用吗?

library(stringr)
st
[1] "<divwww.google.com/div>" "<divwww.yahoo.com/div>" 
str_extract(st, '(?<=div)(.*)(?=/div>)')
[1] "www.google.com" "www.yahoo.com" 
 

推荐阅读