RCurl网络爬虫

RCurl网络爬虫

RCurl网络爬虫_第1张图片
RCurl这个程序包提供了由R到libcurl库的接口,从而实现HTTP的一些功能。例如,从服务器下载文件、保持连接、上传文件、采用二进制格式读取、句柄重定向、密码认证等等。

curl&&libcurl

  • curl:利用URL语法在命令行方式下工作的开源文件传输工具
  • curl背后的库就是libcurl

功能

  • 获得页面
  • 有关认证
  • 上传下载
  • 信息搜索

必要的知识储备

一、HTTP协议——超文本传输协议

客户端(浏览器)和Web服务端的交互

URL详解

基本格式:

schema://host[:port#]/path/.…/[?query-string][#anchor]
  1. scheme——指定低层使用的协议(例如:http,https,ftp)
  2. host——HTTP服务器的IP地址或者域名
  3. port#——HTTP服务器的默认端口是80,这种情况下端口号可以省略。
  4. path访问资源的路径
  5. query-string 发送给http服务器的数据
  6. anchor- 锚

例如
https://www.bilibili.com/video/av39807071?p=4

https——协议
www.bilibili.com——服务器的地址
video/av39807071——问号之前的是路径
p=4——问号之后是提交给服务器的一些信息
RCurl网络爬虫_第2张图片
客户端——发出请求——请求头、请求体
代理服务器
服务端——收到回传——响应头、响应体

代理服务器的作用

  1. 提高访问速度,大多数的代理服务器都有缓存功能。
  2. 突破限制,也就是了
  3. 隐藏身份

请求request

RCurl网络爬虫_第3张图片
get——查——获取url标志资源
post——改——在资源后附加新的数据
head——与get相似——获取响应信息报头
put——增——请求服务器存储资源——可以上传文件
delete——删

请求报头

RCurl网络爬虫_第4张图片

响应response

RCurl网络爬虫_第5张图片

状态码

告诉客户端,服务器收到请求后的状态
RCurl网络爬虫_第6张图片
常见的404

消息报头

RCurl网络爬虫_第7张图片

二、RCurl的三大函数

  • ·getURL()
  • ·getForm()
  • ·postForm()

1.利用getURL()查看相关信息

url.exists()——查看访问的地址是否存在

 url.exists('wwww.baidu.com')
[1] TRUE

d=debugGatherer)

你可能感兴趣的:(R语言)