ITKeyword,专注技术干货聚合推荐

注册 | 登录

如何使用R语言连接MySQL数据库,rjson,网页抓取

hongweigg 分享于 2015-11-11

推荐:R语言的读取文件的相关学习(读取数据库,网页,EXCEL文件)

读取excel文件用到了xlsx 包,用read.xlsx2来读取 > install.packages('xlsx') collClassess参数决定了数据框中每列的类型,这并非是强制的,但这样做可以免去日

2019阿里云全部产品优惠券(新购或升级都可以使用,强烈推荐)
领取地址https://promotion.aliyun.com/ntms/yunparter/invite.html

如何使用R语言连接MySQL数据库

转自: http://www.tbk.ren/article.jsp?id=44
有网友问到,如何在R中调用MySQL数据库中的数据呢?
刚刚好我在做IP归属地分析的时候,用到这么一个功能,就用这个功能作为案例吧。
我实现的功能是这样子的,我有一个t_web_visit_log数据表,就是本博客访问过的IP地址,我想看看网友们都来自哪里,

推荐:C语言连接MySQL数据库

前几天公司让我做C语言和MySQL数据库的交互操作,费了九牛二虎之力之后总算做出来了,今天特地把源代码贴出来供大家学习;如有人想要打包项目可以加我QQ26099050

于是我就调用淘宝的IP库,获取该IP对应的地域信息,我把它保存到t_dim_ip_info表中。
每次我分析数据之前,我就要查一下,哪些新网友的数据是还没有的,我就把它加到t_dim_ip_info表中,这个程序就是实现这个功能的。
#加载需要的library library(rjson) library(RCurl) library(RMySQL);
#建立MySQL的连接 connect <- dbConnect(MySQL(),dbname="db_olap_web", username="root", password="")
#对数据库进行查询 ips <- dbGetQuery(connect, "SELECT ip FROM(SELECT remote_Addr ip FROM t_web_visit_log GROUP BY remote_Addr) aWHERE ip NOT IN (SELECT ip FROM t_dim_ip_info);");
#淘宝IP库查询接口地址 searchURL ="http://ip.taobao.com/service/getIpInfo2.php?ip=";
#设置中文编码,否则往数据库写中文会有乱码 dbSendQuery(connect, "set namesutf8;");
#遍历需要抓取的IP信息 for(ip in ips[,1]) {  url <- paste(searchURL, ip,sep="");  print(url);  #抓取 & 解析  rjs <-getURL(url);  rj <-fromJSON(rjs);    country <-rj$data$country;  area <-rj$data$area;  region <-rj$data$region;  city <-rj$data$city;  isp <-rj$data$isp;  #保存数据到MySQL  sql <- paste("insert intot_dim_ip_info values('", ip, "', '",country,    "', '", area, "', '", region,"', '", city, "', '", isp ,"');", sep="");  ips <- dbGetQuery(connect,sql);  Sys.sleep(10); }
#关闭数据库连接 dbDisconnect(connect);

推荐:java语言Oracle、SQLServer、MySQL数据库的连接方法

概要:下面分了三种连接的方式:其实除了URL的书写格式不同,java进行数据库连接的代码是完全一样的;当然URL书写的不同导致所需要的驱动jar也不相同; USERNAME

如何使用R语言连接MySQL数据库 转自: http://www.tbk.ren/article.jspid=44 有网友问到,如何在R中调用MySQL数据库中的数据呢? 刚刚好我在做IP归属地分析的时候,用到这么一个功能,就用这个

相关阅读排行


用户评论

游客

相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。