我想使用RCurl登录网站并从网上获取数据(没有登录就无法看到数据.)
我想导出这个(例如)" http://www.appannie.com/app/ios/instagram/ranking/history/chart_data/?s=2010-10-06&e=2012-06-04&c=143441&f=ranks&d在我使用RCurl登录后,= iphone "进入R".问题是我无法使用RCurl登录.我之前没有尝试过,所以大多数时候我都提到了http://www.omegahat.org/RCurl/philosophy.html.
所以这就是我的尝试.(这里,'me@gmail.com'是我的用户ID,'9999'是我的密码 - 我刚刚完成了.)
library(RJSONIO)
library(rjson)
library(RCurl)
appannie <- getURL("http://www.appannie.com/app/ios/instagram/ranking/history/chart_data/.json?s=2010-10-06&e=2012-06-04&c=143441&f=ranks&d=iphone, userpwd = me@gmail.com:9999", verbose = TRUE)
Run Code Online (Sandbox Code Playgroud)
但这给了我以下信息:
About to connect() to www.appannie.com port 80 (#0)
* Trying 69.167.138.64... * connected
* Connected to www.appannie.com (69.167.138.64) port 80 (#0)
> GET /app/ios/instagram/ranking/history/chart_data/?s=2010-10-06&e=2012-06-04&c=143441&f=ranks&d=iphone HTTP/1.1
Host: www.appannie.com
Accept: */*
< HTTP/1.1 403 FORBIDDEN
< Server: nginx/1.1.19
< Date: Fri, 01 Mar 2013 23:41:32 GMT
< Content-Type: text/html; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< …Run Code Online (Sandbox Code Playgroud) 我有一个文本数据框,如下所示.
> nrow(gettext.df)
[1] 3
> gettext.df
gettext
1 hello,
2 Good to hear back from you.
3 I've currently written an application and I'm happy about it
Run Code Online (Sandbox Code Playgroud)
我想将这些文本数据合并到一个单元格中(进行情感分析),如下所示
> gettext.df
gettext
1 hello, Good to hear back from you. I've currently written an application and I'm happy about it
Run Code Online (Sandbox Code Playgroud)
所以我使用下面的代码折叠了单元格
paste(gettext.df, collapse =" ")
Run Code Online (Sandbox Code Playgroud)
但似乎它使这些文本数据成为一个块(作为一个单词),所以我无法逐字扫描句子.
有没有什么方法可以将这些句子合并为一个句子集合,而不是将其转化为一个大字块?
在我的 Linux 机器上安装 RMySQL 花费了大量时间,但我能够在更改环境变量并复制并粘贴 lib.dll 文件后安装它。
但是,我现在正在尝试在我的 64 位窗口机器上安装 RMySQL,但到目前为止两天还没有任何进展。它在“运行命令sh ./configure.win出现状态 127 错误后崩溃了,我找不到这意味着什么。
任何人都可以对此有所了解吗?
install.packages('RMySQL',type='source')
Installing package into ‘C:/Users/chu/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)
trying URL 'http://cran.rstudio.com/src/contrib/RMySQL_0.9-3.tar.gz'
Content type 'application/x-gzip' length 165363 bytes (161 Kb)
opened URL
downloaded 161 Kb
* installing *source* package 'RMySQL' ...
** package 'RMySQL' successfully unpacked and MD5 sums checked
Warning: running command 'sh ./configure.win' had status 127
ERROR: configuration failed for package 'RMySQL'
* removing 'C:/Users/chu/Documents/R/win-library/3.1/RMySQL'
Warning in install.packages :
running command …Run Code Online (Sandbox Code Playgroud) 假设我使用下面的表达式解析了一个网站
library(XML)
url.df_1 = htmlTreeParse("http://www.appannie.com/app/android/com.king.candycrushsaga/", useInternalNodes = T)
Run Code Online (Sandbox Code Playgroud)
如果我在代码下运行,
xpathSApply(url.df_1, "//div[@class='app_content_section']/h3", function(x) c(xmlValue(x), xmlAttrs(x)[["href"]]))
Run Code Online (Sandbox Code Playgroud)
我会得到以下 -
[1] "Description" "What's new"
[3] "Permissions" "More Apps by King.com All Apps »"
[5] "Customers Also Viewed" "Customers Also Installed"
Run Code Online (Sandbox Code Playgroud)
现在,我感兴趣的只是"客户也安装"部分.但是,当我运行以下代码时,
xpathSApply(url.df_1, "//div[@class='app_content_section']/ul/li/a", function(x) c(xmlValue(x), xmlAttrs(x)[["href"]]))
Run Code Online (Sandbox Code Playgroud)
它将"King.com所有应用程序中的更多应用程序","还查看了客户"和"客户也已安装"中包含的所有应用程序吐出.
所以我试过,
xpathSApply(url.df_1, "//div[h3='Customers Also Installed']”, function(x) c(xmlValue(x), xmlAttrs(x)[["href"]]))
Run Code Online (Sandbox Code Playgroud)
但这没用.所以我试过了
xpathSApply(url.df_1, "//div[contains(.,'Customers Also Installed')]",xmlValue)
Run Code Online (Sandbox Code Playgroud)
但这也不起作用.(输出应该如下所示)
[,1]
[1,] "Christmas Candy Free\n Daniel Development\n "
[2,] "/app/android/xmas.candy.free/"
[,2]
[1,] "Jewel Candy Maker\n Nutty Apps\n "
[2,] "/app/android/com.candy.maker.jewel.nuttyapps/"
[,3]
[1,] "Pogz …Run Code Online (Sandbox Code Playgroud) 在reddit URL中,有由base36生成的"5 characternumerics"thing_id部分(例如,来自"http://redd.it/wplf7"的"wplf7").
wplf7是从54941875生成的 - 这是我到目前为止发现的......我想知道54941875是如何生成的.
我正在试图用R 来评论reddit的特定部分(让我们说http://www.reddit.com/r/leagueoflegends/)并且我坚持使用这个5个字符的数字.
谁能以简单的方式解释这个?不幸的是,Python不是我的域名,Reddit网站上列出的2000行python代码对我没什么帮助.
谢谢,
我一直在使用findAssoc()textmining(tm包),但意识到我的数据集似乎不对.
我的数据集是保存在csv文件的一列中的1500个开放式答案.所以我像这样调用数据集,并使用典型的数据集tm_map使其成为语料库.
library(tm)
Q29 <- read.csv("favoritegame2.csv")
corpus <- Corpus(VectorSource(Q29$Q29))
corpus <- tm_map(corpus, tolower)
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, removeNumbers)
corpus<- tm_map(corpus, removeWords, stopwords("english"))
dtm<- DocumentTermMatrix(corpus)
findAssocs(dtm, "like", .2)
> cousin fill ....
0.28 0.20
Run Code Online (Sandbox Code Playgroud)
Q1.当我找到与之关联的术语时like,我没有看到输出like = 1作为输出的一部分.然而,
dtm.df <-as.data.frame(inspect(dtm))
Run Code Online (Sandbox Code Playgroud)
此数据框由1500个obs组成.1689变量..(或者是因为数据保存在一行csv文件中?)
Q2.尽管cousin和fill出现了一次当目标项like出现了一次,比分是这样的不同.他们不应该一样吗?
我想找到数学findAssoc()但却没有成功.任何建议都非常感谢!
我正在解析很多网站,我写了一个脚本,通过单独的文件循环数千个链接.但是,我经历过,有时R无法加载一个链接,它在循环中间停止,留下许多其他网址未解析.所以我尝试使用tryCatch,因此脚本忽略了这种情况并继续解析下一个URL.但是,我最近经历过tryCatch生成以下错误.
gethelp.url = 'http://forums.autodesk.com/t5/Vault-General/bd-p/101'
gethelp.df =tryCatch(htmlTreeParse(gethelp.url, useInternalNodes = T), error = function() next)
Error in value[[3L]](cond) : unused argument (cond)
Calls: withRestarts ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted
Run Code Online (Sandbox Code Playgroud)
令人困惑的事情有时它运行良好,有时它抛出此错误消息,即使相同的脚本解析相同的URL.
任何人都可以给我一个如何解释此错误消息的指导?我阅读了这份文件,但我找不到太多的见解.
我正在尝试解析html网站但不知何故我的代码不起作用.
testrun = htmlTreeParse("网址",useInternalNodes = T)
然后我得到......
<div class ="md"> <p>我被误导了.. <p> ...
我想抓住这句话(我被误导了),所以我做的是
xpathSApply(testrun,""// div [@class ='md'] // p",xmlGetAttr,"href")
但这会吐出NULL值..当我在这里做错时,谁能告诉我?
我有一个数据框如下.
test <- data.frame (myrank = c(0.9629,0.1296), poster = c("dial","bear"))
test
## myrank poster
## 1 0.9629 dial
## 2 0.1296 bear
Run Code Online (Sandbox Code Playgroud)
我有一个ifelse函数如下,但它只返回一个值,我无法弄清楚为什么.
color <- function (x){
x$colorchip <- ifelse((((x$myrank> 0) | (x$myrank= 0)) & x$myrank < 0.143),
"#FF0000",
ifelse((x$myrank > 0.143 & x$myrank < 0.286),
"#FF1919",
ifelse((x$myrank > 0.286 & x$myrank < 0.428571),
"#FF3333",
ifelse((x$myrank > 0.428571 & x$myrank < 0.571429),
"#FFFFFF",
ifelse((x$myrank > 0.571429 & x$myrank < 0.714286),
"#3333D6",
ifelse((x$myrank > 0.714286 & x$myrank < 0.857143),
"#1919D1",
"#0000CC" …Run Code Online (Sandbox Code Playgroud) 我有一个如下的数据集 -
> a_i
[1] "Our-Facebook-Page/td-p/3175990"
[2] "Our-Facebook-Page/td-p/3175990/page/2"
....
[17] "Data-duplicate-files/td-p/4743405"
[18] "Data-duplicate-files/td-p/4743405/page/2"
[19] "Subscription-Release-1-sucks/td-p/4556739"
[20] "Subscription-Release-1-sucks/td-p/4556739/page/2"
> b_i
[1] "Data-duplicate-files/td-p/4743405"
[2] "Subscription-Release-1-sucks/td-p/4556739"
[3] "Quick-fix/td-p/4556740"
Run Code Online (Sandbox Code Playgroud)
我的目标是找到仅存在于b_i中的7位数字(例如4743405,4556739,4556740),并从包含相应数字的a_i中获取数据.所以最终输出将是这样的 -
[1] "Data-duplicate-files/td-p/4743405"
[2] "Data-duplicate-files/td-p/4743405/page/2"
[3] "Subscription-Release-1-sucks/td-p/4556739"
[4] "Subscription-Release-1-sucks/td-p/4556739/page/2""
Run Code Online (Sandbox Code Playgroud)
我能够使用strsplit(b_i,"/")获取数字但我仍然在抓取包含匹配数字的列表.是否有任何优雅的方式来映射这些数字并获取列表?
我曾经使用RCurl来获取需要登录的数据.现在我必须使用api密钥(以及用户ID,密码)获取数据,并且需要基本身份验证(Radian6 api:http://socialcloud.radian6.com/docs/read/Getting_Started )
如果它不需要身份验证,代码将类似于..
getURL("https:// address", userpwd="id:pswd", httpauth = 1L)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何插入api密钥进行身份验证.到目前为止,我能够找到用python或Java编写的示例但尚未找到R示例.有人能指出我正确的方向吗?我想知道如何使用RCurl进行基本身份验证以及如何使用令牌来获取数据.(fyi,这是python的工作原理:使用API密钥进行Urllib2身份验证)
任何建议将非常感谢!
我有一个看起来像这样的数据框(来自mongo db ..)
team_id <- c(1,2)
member <- c("15,25,35","12,22,32")
data.frame (team_id,member)
Run Code Online (Sandbox Code Playgroud)
我正在尝试转换像这样的数据帧..
team_id2 <- c(1,1,1,2,2,2)
member2 <- c(15,25,35,12,22,32)
data.frame (team_id2, member2)
Run Code Online (Sandbox Code Playgroud)
我尝试使用'unlist',但不能让每个列都重复"team_id".我将不胜感激任何指导!
r ×12
rcurl ×2
text-mining ×2
html-parsing ×1
if-statement ×1
login ×1
matching ×1
merge ×1
reddit ×1
regex ×1
rmysql ×1
try-catch ×1
web ×1
xml ×1
xml-parsing ×1