观察基础信息(服务器信息和提交给服务器的信息)

d=debugGatherer()
xpath="http://123.sogou.com/"
url=getURL(xpath,debugfuNction=d$update,verbose=T)
cat(d$value()[1])#服务器地址以及端口号
cat(d$value()[2])#服务器返回的头信息
cat(d$value()[3])#提交给服务器的头信息

观察是否连接到该网址。

curl=getCurlHandle()
url=getURL(xpath,curl=curl,httpheader=myheader)
getCurlInfo(curl)$response.code

显示为200 表示获取成功。

有时候网页获取信息不全,可能是头信息导致的错误

#设置头信息
myheader<-c(
"User-Agent"="Mozilla/5.0 (Linux; U; Android 2.3.3; zh-cn; HTC_DesireS_S510e Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
"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"
)

xpath="http://t.dianping.com/list/guangzhou?q=%E7%94%B5%E5%BD%B1"
url=getURL(xpath,httpheader=myheader)

可以观察增加头信息和不添加头信息之间的区别

有时候网页获取信息乱码,总共三种处理方法。第一,增加参数 .encoding(观察html的编码情况)  第二,可以尝试设置头信息去解决。 第三,windows 出现乱码问题,需在Linux系统下执行

通过与XML包的结合也可以直接抓取表格信息

xpath="http://www.hbksw.com/html/13/26369.shtml"
url=getURL(xpath,httpheader=myheader,.encoding="gb2312")
write(url,"f://url.txt")
doc<-htmlParse(url,asText=T)
tables<-readHTMLTable(doc,which=4);tables

正则表达式的一些使用

# \ 转义字符 . 除了换行后的任意字符 ^ 开头 $ 结尾 * 0个或者多个
# + 一个或者多个 ? 0个或者一个
#正则表达式的匹配
pattern="[A-Za-z0-9\\._%+-]+@[A-Za-z0-9\\._%+-]+\\.[A-Za-z]{2,4}"
list=c("sunshine@.163.com","niubi","421946059@qq.com")
list1<-paste(list,collapse=",")
grepl(pattern,list)
grep(pattern,list1)
regexpr(pattern,list1)
regexec(pattern,list1)
gregexpr(pattern,list1)

通过正则表达式抓取到自己想要数据的位置,通过字符串分割去提取

RCurl网络数据抓取的更多相关文章

  1. Python开发笔记:网络数据抓取

    网络数据获取(爬取)分为两部分: 1.抓取(抓取网页) · urlib内建模块,特别是urlib.request · Requests第三方库(中小型网络爬虫的开发) · Scrapy框架(大型网络爬 ...

  2. Asp.net 使用正则和网络编程抓取网页数据(有用)

    Asp.net 使用正则和网络编程抓取网页数据(有用) Asp.net 使用正则和网络编程抓取网页数据(有用) /// <summary> /// 抓取网页对应内容 /// </su ...

  3. 基于Thinkphp5+phpQuery 网络爬虫抓取数据接口,统一输出接口数据api

    TP5_Splider 一个基于Thinkphp5+phpQuery 网络爬虫抓取数据接口 统一输出接口数据api.适合正在学习Vue,AngularJs框架学习 开发demo,需要接口并保证接口不跨 ...

  4. Android利用Fiddler进行网络数据抓包

    最新最准确内容建议直接访问原文:Android利用Fiddler进行网络数据抓包 主要介绍Android及IPhone手机上如何进行网络数据抓包,比如我们想抓某个应用(微博.微信.墨迹天气)的网络通信 ...

  5. Twitter数据抓取

    说明:这里分三个系列介绍Twitter数据的非API抓取方法.有兴趣的QQ群交流: BitCrawler网络爬虫QQ群 322937592 1.Twitter数据抓取(一) 2.Twitter数据抓取 ...

  6. Android利用Fiddler进行网络数据抓包,手机抓包工具汇总

    Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓 ...

  7. python爬虫(一)_爬虫原理和数据抓取

    本篇将开始介绍Python原理,更多内容请参考:Python学习指南 为什么要做爬虫 著名的革命家.思想家.政治家.战略家.社会改革的主要领导人物马云曾经在2015年提到由IT转到DT,何谓DT,DT ...

  8. 如何利用Python网络爬虫抓取微信朋友圈的动态(上)

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  9. 网页数据抓取工具,webscraper 最简单的数据抓取教程,人人都用得上

    Web Scraper 是一款免费的,适用于普通用户(不需要专业 IT 技术的)的爬虫工具,可以方便的通过鼠标和简单配置获取你所想要数据.例如知乎回答列表.微博热门.微博评论.淘宝.天猫.亚马逊等电商 ...

随机推荐

  1. 在VIM中进行快速的查找和替换

    VIM是被誉为非常高效的文本编辑软件.但是掌握并高效的使用是件有难度的事情.在VIM中进行快速的查找和替换是提高VIM使用效率的重要方法.下面是我在阅读VIM用户手册时整理的一些资料: 行内搜索. f ...

  2. 冰球项目日志3-yjw

    小组讨论 今天大家讨论了之前各自想的方案的问题,基本确定了寻找击球点的方案,以及击球手运动轨迹规划的方案,这里我只是简单的说下我们的击球点的确定方案. 击球策略方案 方案分析 首先我们建立平面在直角坐 ...

  3. VS后台程序无法调用App_Code里的公共类解决方案

    在Web应用程序中不能通过右键项目-〉”添加“-〉”添加ASP.NET文件夹“方式添加 .因为Web应用程序中App_Code就不存在 .不过可以通过手动的方式创建,添加一个文件夹命名为App_Cod ...

  4. Linux内核原子(1) - spinlock的实现

    spinlock的数据结构spinlock_t定义在头文件linux/spinlock_types.h里面: typedef struct { raw_spinlock_t raw_lock; #if ...

  5. 简述alert和console.log的区别

    生活中还是得有发现美好和差别的眼睛~~ 学习前端那么久既然还不知道alert和console.log的差别~~~~ 蓝瘦,香菇~~~ 本菜鸟一直以为alert和console.log其实是一样的用法, ...

  6. 动态获取R.drawable.xx资源

    String imageName = "index_fragmen"+getColor();final int resId = context.getResources().get ...

  7. json数组转数组对象

    import java.io.IOException; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import com. ...

  8. 山锅(samgor)的博客 2014

    搞移动端的前端开发已经3年,悄悄地从一个前端小白变成老油条. 项目已经做了好几个,最近发现技术的提升貌似停滞不前.说很菜吧,知道的还是不少.说精通吧,自我感觉还算不上. 认真的考虑下这个问题,觉得技术 ...

  9. 【Python②】python之首秀

       第一个python程序 再次说明:后面所有代码均为Python 3.3.2版本(运行环境:Windows7)编写. 安装配置好python后,我们先来写第一个python程序.打开IDLE (P ...

  10. Ubuntu下Nutch1.2的使用

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeMAAABpCAIAAACGSdxlAAAAA3NCSVQICAjb4U/gAAAgAElEQVR4Xu ...