python爬虫与java爬虫的区别_java爬虫(一)主流爬虫框架的基本介绍

发布时间:2021-10-20 00:35:28

(1)、Scrapy:



Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试.


Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。


Scrap,是碎片的意思,这个Python的爬虫框架叫Scrapy。


优点:


1.极其灵活的定制化爬取。


2.社区人数比较多、文档比较完善。


3.URL去重采用布隆过滤器方案。


4.可以处理不完整的HTML,Scrapy已经提供了selectors(一个在lxml的基础上提供了更高级的接口),


可以高效地处理不完整的HTML代码。


缺点:


1.对新学员不友好,需要一定新手期


(2)、Pyspider:



pyspider?是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任务优先级等。


优点:


1.支持分布式部署。


2.完全可视化,对用户非常友好:WEB 界面编写调试脚本,起停脚本,监控执行状态,查看活动历史,获取结果产出。


3.简单,五分钟就能上手。脚本规则简单,开发效率高。支持抓取JavaScript的页面。


总之,Pyspider非常强大,强大到更像一个产品而不是一个框架。


缺点:


1.URL去重使用数据库而不是布隆过滤器,亿级存储的db io将导致效率急剧降低。


2.使用上的人性化牺牲了灵活度,定制化能力降低。


(3)Apache Nutch(高大上)



Nutch是为搜索引擎设计的爬虫,大多数用户是需要一个做精准数据爬取(精抽取)的爬虫,Nutch运行的一套流程里,有三分之二是为了搜索引擎而设计的.


Nutch这个框架运行需要Hadoop,Hadoop需要开集群,对于想要快速入门爬虫的我是望而却步了......


一些资源地址列在这里,说不定以后会学*呢。


1.Nutch支持分布式抓取,并有Hadoop支持,可以进行多机分布抓取,存储和索引。另外很吸引人的一点在于,它提供了一种插件框架,使得其对各种网页内容的解析、各种数据的采集、查询、集群、过滤等功能能够方便的进行扩展,正是由于有此框架,使得?Nutch?的插件开发非常容易,第三方的插件也层出不穷,极大的增强了?Nutch?的功能和声誉。


缺点


1.Nutch的爬虫定制能力比较弱


(4)、WebMagic



WebMagic是一个简单灵活的Java爬虫框架。基于WebMagic,你可以快速开发出一个高效、易维护的爬虫。


优点:


1.简单的API,可快速上手


2.模块化的结构,可轻松扩展


3.提供多线程和分布式支持


缺点:


1.不支持JS页面抓取


(5)、WebCollector



WebCollector是一个无须配置、便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫。WebCollector-Hadoop是WebCollector的Hadoop版本,支持分布式爬取。


优点:


1.基于文本密度的网页正文自动抽取


2.支持断点重爬


3.支持代理


缺点:


1.不支持分布式,只能单机


2.无URL优先级调度


3.活跃度不高


(6)、Heritrix3



Heritrix 是一个由 java 开发的、开源的网络爬虫,用户可以使用它来从网上抓取想要的资源


优点


Heritrix的爬虫定制参数多


缺点


1.单实例的爬虫,之间不能进行合作。


2.在有限的机器资源的情况下,却要复杂的操作。


3.只有官方支持,仅仅在Linux上进行了测试。


4.每个爬虫是单独进行工作的,没有对更新进行修订。


5.在硬件和系统失败时,恢复能力很差。


6.很少的时间用来优化性能。


7.相对于Nutch,Heritrix仅仅只是一个爬虫工具,没有提供搜索引擎。如果要对抓取的站点排序必须要实现类似于Pagerank的复杂算法。


(7)、Crawler4j



Crawler4j是一款基于Java的轻量级单机开源爬虫框架


优点


1.多线程采集


2.内置了Url 过滤机制,采用的是BerkeleyDB 进行url的过滤。


3.可扩展为支持结构化提取网页字段,可作为垂直采集用


缺点


1.不支持动态网页抓取,例如网页的ajax部分


2.不支持分布式采集,可以考虑将其作为分布式爬虫的一部分,客户端采集部分


为了更加直观这7种爬虫框架,小编做了一个框架优缺点对比图,如下:



Jsoup(经典?适合静态网友)


这个框架堪称经典,也是我们暑期实训老师讲解的框架。有*乎完整的文档介绍。


和HtmlUnit同样,只能get到静态内容。


不过,这个框架有个有个优点,具有很强大的解析网页的功能。


selenium(Google多名大佬参与开发)


感觉很厉害,实际真的很厉害,看官网以及其他人的介绍,说是真正模拟浏览器。GitHub1.4w+star,你没看错,上万了。但是我硬是没配好环境。入门Demo就是没法运行成功,所以就放弃了。


cdp4j(方便快捷,但是需要依赖谷歌浏览器)


使用前提:


安装Chrome浏览器,即可。


简单介绍:


HtmlUnit的优点在于,可以方便的爬取静态网友;缺点在于,只能爬取静态网页。


selenium的优点在于,可以爬取渲染后的网页;缺点在于,需要配环境变量等等。


将二者整合,取长补短,就有了cdp4j。


之所以选用它,是因为真的方便好用,而且官方文档详细,Demo程序基本都能跑起来,类名起的见名知意。想当年学软件工程的时候,一直在纳闷,为什么要写文档啊,我程序能实现功能不就得了?现如今,看着如此详实的文档,留下了激动而又悔恨的泪水......


cdp4j有很多功能:


a. 获得渲染后的网页源码


b. 模拟浏览器点击事件


c. 下载网页上可以下载的文件


d. 对网页进行*粱蜃狿DF打印


e. 等等


更多详细信息可以自行去如下三个地址中探索发现:

相关文档

  • 优秀国企员工入党申请书2000字精选多篇
  • DNF现在这个版本组队随机深渊大概几把能出一次
  • fork与vfock 的区别
  • 刺激战场如何设置载具操作?
  • 数学家称偏好男性演讲者反映性别歧视
  • 什么叫课程设置
  • caffe 第一轮测试的accuracy=0
  • 中考动员大会讲话稿范文
  • 大龄程序员该何去何从?
  • 财务部副经理的竞聘演讲稿
  • 高三优生期末老师评语
  • 芋头煮不烂是为什么 芋头没有完全熟可以吃吗
  • VC编译选项 /EHa 异常处理
  • 需要人陪歌词
  • 女生贾梅全传读后感(通用6篇)
  • 【中英】【吴恩达课后测验】Course 5 - 序列模型 - 第三周测验 - 序列模型与注意力机制
  • 双向电平转换芯片TXB0304应用笔记
  • 加拿大留学名牌大学录取的要求
  • 派罗欣为什么那么贵及功效
  • 苏教版小学六年级科学上册教学工作计划范文
  • 第一次安装win10+ubuntu双系统的经验及踩过的坑
  • ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! !!
  • 长江上游指什么的以上河段谢谢了大神帮忙啊
  • h5练手项目--简易版
  • 导致孕酮低的原因有哪些
  • 关于写室内精装修合同范本
  • 索尼电脑笔记本黑屏怎么办啊
  • Linux命令学习3.0
  • 青海省公考申论范文参考
  • 小学四年级《夏洛的网》读后感
  • 猜你喜欢

  • [精品]2019高中政治 第四单元第九课(第1课时)市场配置资源练习(无答案)新人教版必修1
  • 苹果发布iOS安全白皮书 深度解析Touch ID
  • 腹腔镜胆囊炎、胆结石患者胆囊切除围手术期的健康教育
  • 山东省沂水县高中生物第五章基因突变及其它变异检测题测试题(无答案)新人教版必修2
  • 吉他初学者扫弦的歌曲
  • 江西省住房和城乡建设类企业行政许可审查意见公示一览表20120525
  • 三年级状物作文_我的歌手梦_450字
  • 霍山县人口多少万
  • 2019-2020学年新指导同步高中数学必修1(课件 课后巩固 测评卷) (4)
  • 上饶经济开发区保安服务公司企业信用报告-天眼查
  • Spring Boot 集成 FreeMarker 详解案例
  • 阳曲县联鑫园种养殖专业合作社企业信用报告-天眼查
  • 2015春沪教版语文四下哥伦布竖立鸡蛋word导学案【可编辑】
  • 2018届安徽省安庆市第一中学高三热身考试语文试题(word版)
  • 小学听课评估记录表
  • 分布式一致性方案
  • 唯美甜蜜爱情语录经典
  • 最新-上海市杨浦区2018届高三上学期期末学科测试(物理
  • 校园爱心义卖活动建议书
  • 初二作文议论文《世界杯》550字(共7页PPT)
  • 学生资助工作自查报告三篇
  • 2019版高考化学大二轮复* 选择题专项训练 10 化学实验基础
  • 高中化学教案新人教版必修2 元素周期表 第1课时
  • 重庆市大足区磨道冲餐馆(企业信用报告)- 天眼查
  • 西湖区2009学年第一学期九年级期末教学质量抽测调研
  • 五年级数学期末检测卷面分析表(1)
  • 人事行政专员自我评价
  • 四年级下册科学课件-5.21测量重力_青岛版(六年制,三起) (共27张PPT)
  • Unit 3 The Present课文翻译大学英语一
  • 七年级美术下册 第4课 扮靓生活的花卉纹样教案2 湘美版
  • 魔兽世界——熊猫人之谜5人英雄副本视频:风暴烈酒酿造厂
  • 水厂机修车间先进事迹材料
  • 浅谈空间尺度在景观园林设计中的应用研究
  • 九年级化学物质的变化(201908)
  • 【最新整理版】人教版语文九年级上册第二单元ppt课件5+敬业与乐业
  • 夸男人帅的经典句子(精选50句)
  • 提升宝宝口才与情商
  • Java基础笔记(10) String a= “abc” String b = “abc” String c = new String(“abc”) String d = “ab” + “c”相比较
  • 关于公路隧道洞口景观设计研究
  • 技术负责人对责任工长安全技术交底
  • 中国人民健康保险股份有限公司浙江分公司余杭营销服务部(企业信用报告)- 天眼查
  • JGJ 196-2019 PPT讲稿 建筑施工塔式起重机安装、使用、拆卸安全技术规程
  • 电脑版