RCurl包学习笔记

RCurl的三大函数:
getURL()
getForm()
postForm()

1.R的cat函数:
Concatenate and Print
连接和打印
2.移除变量:rm(target)
3.ctrl+L:清屏命令,查看数据类型:typeof(),sep是指默认隔开符
4.c(), 这个函数会生成一个向量
5.解析url地址组成

c=c(“https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_dg&wd=RCurl&oq=R%26lt%3Burl&rsv_pq=d2e2cf8b000352bc&rsv_t=e78a3WSXg%2BPlTFBabIO8jFBgRgIoAAn%2BxQxuv8Gf68lAlih1ynRBuSgu0ndxB2B%2FSA&rqlang=cn&rsv_enter=0&rsv_sug3=32&rsv_sug1=15&rsv_sug7=100&rsv_sug4=1925&rsv_sug=1“)
getFormParams(c)
6.替换百度搜素关键字:英文没有问题,输入中文无法出现正确的页面

url=getForm(“http://www.baidu.com/s“,ie=
+ “utf-8”,
+ f=
+ “8”,
+ rsv_bp=
+ “1”,
+ tn=
+ “monline_dg”,
+ wd =
+ “RCurl”,
+ oq =
+ “R%26lt%3Burl” ,
+ rsv_pq =
+ “d2e2cf8b000352bc” ,
+ rsv_t =
+ “e78a3WSXg%2BPlTFBabIO8jFBgRgIoAAn%2BxQxuv8Gf68lAlih1ynRBuSgu0ndxB2B%2FSA” ,
+ rqlang=
+ “cn” ,
+ rsv_enter=
+ “0” ,
+ rsv_sug3=
+ “32” ,
+ rsv_sug1=
+ “15” ,
+ rsv_sug7=
+ “100” ,
+ rsv_sug4=
+ “1925” ,
+ rsv_sug=
+ “1” )
write.table(url,”url.txt”) //写入txt文件
7.新浪模拟登录
讲的有点含糊不清,学到了一个函数,base64decode,BASE64不是加密,他只是把数据以16进治的形势表现出来而已,使用base64_decode函数反编译被BASE64编码的内容。
8.curl部分参数设置:
9.使用getBinaryURL()下载文件
url=”http://www.zzrsks.com.cn/UploadFiles/File/2012%E5%B9%B4%E8%81%8C%E7%A7%B0%E5%A4%96%E8%AF%AD%E8%80%83%E8%AF%95%E5%90%88%E6%A0%BC%E4%BA%BA%E5%91%98%E5%90%8D%E5%8D%95.xls”
temp<-getBinaryURL(url)
note<-file(“hellodata.xls”,open=”wb”)
writeBin(temp,note)
close(note)

10.批量下载

unlist(strsplit(as.character(Sys.time()),’ ‘))[2] #分割系统时间,unlist——解除list,as.character——转换为字符串
[1] “11:52:39”

paste()是连接字符串,lapply()是对list中的每一个元素做出function的处理,返回一个list

html=getURL(“http://rfunction.com/code/1202/“)
temp=strsplit(html,”

  • 查看doc的内容时显示有乱码,但没关系,table的解析结果没有乱码

    tables <-readHTMLTable(doc,header=F)

    14.XPath

    15.爬取大众点评电影团购

    myheader <- c(
    “User-Agent”=”Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) “,
    “Accept”=”text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8”,
    “Accept-Language”=”en-us”,
    “Connection”=”keep-alive”,
    “Accept-Charset”=”GB2312,utf-8;q=0.7,*;q=0.7”
    ) #伪装成浏览器,否则读不到网页
    temp=getURL(“http://t.dianping.com/movie/guangzhou#nav“,httpheader=myheader)
    k=htmlParse(temp)
    getNodeSet(k,’//ul[@class=”tg-floor-list Fix tg-floor-list-freak”]//a[@class=”tg-floor-title”]’)#路径是xpath路径,可用viewxpath来检验正确性,注意是单引号,不是双引号

    youhui=sapply(getNodeSet(k,’//ul[@class=”tg-floor-list Fix tg-floor-list-freak”]//a[@class=”tg-floor-title”]’),xmlValue) #[]里的属性一定要用双引号,单引号不能识别

    读取后面的页面信息
    urllist=0
    youhui2=0
    page=1:5
    urllist[page]=paste(“http://t.dianping.com/movie/guangzhou/tab_deal?pageno=“,page,sep=”“)
    for(url in urllist)
    {cat(url,”\n”)
    temp=getURL(url,httpheader=myheader)
    k=htmlParse(temp)
    youhui=sapply(getNodeSet(k,’//ul[@class=”tg-floor-list Fix tg-floor-list-freak”]//a[@class=”tg-floor-title”]’),xmlValue)
    youhui2<-c(youhui2,youhui) #添加向量元素
    }
    youhui2=youhui2[-(1)] #去除开始youhui2初始的位于1的0值。

    16.字符串处理基础

    collapse是针对向量的:

    mychar=”dataguru”
    list<-c(“data”,”duru”,”haha”)
    substr(mychar,1,2)
    [1] “da”

    substr(mychar,c(1,2),4)
    [1] “data”
    substring(mychar,c(1,2),4) #substr和substring的区别,substring可以检测到c(1,2)然后分别输出,substr只能从最小的数字开始输起
    [1] “data” “ata”
    substring(mychar,c(1,2),c(2,4) )
    [1] “da” “ata”
    match(“haha”,list) #返回匹配的位置 ,完全匹配
    [1] 3
    pmatch(“ha”,list) #不完全匹配
    [1] 3

    17.正则表达式

    sub和gsub的区别在于,sub只替换第一个符合的,gsub替换所有符合的。
    regexec,gregexpr返回匹配的位置。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值