美文网首页
R爬虫项目结构解析

R爬虫项目结构解析

作者: 飘舞的鼻涕 | 来源:发表于2017-12-18 11:58 被阅读0次

最近完成了一项简单的静态爬虫任务,麻雀虽小五脏俱全,借此梳理下R项目基本架构
注,有疑问 加QQ群..[174225475].. 共同探讨进步
有偿求助请 出门左转 door , 合作愉快

基本架构

  1. R 脚本
    R程序可以是单一的完整运行代码文件,也可以是多个相互间协调或调用的函数/程序代码集,本文介绍的主要是第二种
  2. Powershell 调用

通过 windows 的 powershell 终端调用 R程序, 实现 R程序 的后台运行

xx/xx/Rscript.exe xx/xx/run.R
run

也可以编辑 .bat文件,然后保存双击 .bat文件就可以了

xx/xx/Rscript.exe xx/xx/run.R
bat1
  1. Linux终端调用与此类同

终端运行

chmod u+x ./run.R
/usr/bin/Rscript  /xx/run.R

或 run.R 首行添加 line1, 然后终端运行 line2,3

#!/usr/bin/Rscript
chmod u+x ./run.R
./run.R

R 脚本

本案例是个静态爬虫项目,大致涵盖以下几个流程:

  1. 获取爬取目标
  2. 爬取
  3. 爬取结果分段存储
  4. 分段结果合并及碎文件删除
  5. 根据结果中信息进行二次爬取
  6. 二次爬取结果存储


    files

1. 确定爬取目标

爬取目标可以是个单一网址也可以是个目标list
比如通过动态查询获取与某主题相关的网页地址list(get_addr.R)

2. 爬取和分段存储

爬虫最重要的部分就是爬虫代码的编写,个中辛酸自己体会,大有阿庆嫂大战刁德一的意思,码完code之后还得测试(大部分网页代码都不那么规整),时不时会如下所示


err

为了节省内存及防止程序半路崩溃而前功尽弃,可以设置分段保存(每爬取n条存储一个本地文件),以求最大限度保存胜利成果

3. 合并并清空分段文件

爬虫程序运行完毕,需要将分段文件合并成最终的结果集,然后将无用的分段集清理,如下所示


parts1

4. 组织协调的 run.R

最后看看 run.R 里的代码结构


run.R

总结

一个完整的项目下来,R是需要很多自定义函数支持的,这些自定义函数可能结构复杂(可以定义2级函数支持1级函数的调用)代码行数较多或会被多次调用,这个时候我们就需要将他独立出来作为一个功能模块或对象来使用.
这样的项目梳理出来,就会结构清晰,便于理解和后续个性化修改

Reference:

相关文章

  • R爬虫项目结构解析

    最近完成了一项简单的静态爬虫任务,麻雀虽小五脏俱全,借此梳理下R项目基本架构注,有疑问 加QQ群..[174225...

  • Scrapy的使用

    创建一个Scrapy项目 Scrapy的项目结构 spiders:编写爬虫的目录 爬虫的编写规则 运行你的爬虫

  • 爬虫笔记(2)入门

    1.爬虫结构 从爬虫的结构上来看,追简单的爬虫包括任务队列、页面下载和页面解析三个部分。 上面代码实现了一个简单的...

  • HashMap源码阅读与解析

    目录结构 导入语 HashMap构造方法 put()方法解析 addEntry()方法解析 get()方法解析 r...

  • Python爬虫和电影天堂上的电影

    电影天堂的结构很简单,拿来做练手项目很容易。实现一个简单的爬虫,前提是要理解http协议,什么是request和r...

  • 2018-12-28

    简单爬虫项目(一) 简单爬虫的基础模块 url下载器 url管理器 网页解析器 网页解析方式有很多种,可自行百度,...

  • R和Python数据结构对比

    本文内容概要: R语言数据结构及实例操作 Python语言数据结构及实例操作 R语言数据结构及实例解析 接下开始学...

  • Scrapy的用法

    1.第一步:创建爬虫项目 2.使用pycharm打开爬虫项目 打开结果如下(目录结构): 3.第三步:创建爬虫说明...

  • java爬虫(及常用数据结构)

    我的Java爬虫代码 从爬虫项目中体会常用数据结构的用法 // 未完待续。。。。。 Queue //...

  • Vue项目目录结构解析

    2020-07-28 Vue项目目录结构解析 build 项目构建(webpack)相关...

网友评论

      本文标题:R爬虫项目结构解析

      本文链接:https://www.haomeiwen.com/subject/ibopwxtx.html