博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(转)各种语言写网络爬虫有什么优点缺点
阅读量:7091 次
发布时间:2019-06-28

本文共 928 字,大约阅读时间需要 3 分钟。

我用 PHP 和 Python 都写过爬虫和正文提取程序。 最开始使用 PHP 所以先说说 PHP 的优点: 1.语言比较简单,PHP 是非常随意的一种语言。写起来容易让你把精力放在你要做的事情上,而不是各种语法规则等等。 2.各种功能模块齐全,这里分两部分: 1.网页下载:curl 等扩展库; 2.文档解析:dom、xpath、tidy、各种转码工具,可能跟题主的问题不太一样,我的爬虫需要提取正文,所以需要很复杂的文本处理,所以各种方便的文本处理工具是我的。; 总之容易上手。 缺点: 1.并发处理能力较弱:由于当时 PHP 没有线程、进程功能,要想实现并发需要借用多路服用模型,PHP 使用的是 select 模型。实现其来比较麻烦,可能是因为水平问题我的程序经常出现一些错误,导致漏抓。 再说说 Python: 优点: 1.各种爬虫框架,方便高效的下载网页; 2.、进程模型成熟稳定,爬虫是一个典型的多任务处理场景,请求页面时会有较长的延迟,总体来说更多的是等待。或进程会更优化,提升整个和分析能力。 3.GAE 的支持,当初写爬虫的时候刚刚有 GAE,而且只支持 Python ,利用 GAE 创建的爬虫几乎免费,最多的时候我有近千个应用实例在工作。 缺点: 1.对不规范 HTML 适应能力差:举个例子,如果一个页面里面同时有 GB18030 字符集的中文和 UTF-8 字符集的中文,Python 处理起来就没有 PHP 那么简单,你自己需要做很多的判断工作。当然这是提取正文时的麻烦。 Java 和 C++ 当时也考察过,相对比较麻烦,所以放弃。 总之,如果开发一个小规模的爬虫是个各方面比较有优势的语言。如果要开发一个复杂的爬虫系统可能 Java 是个增加选项, C++ 我感觉写个模块之类的更加适合。对于一个爬虫系统来说,下载和内文解析只是基本的两个功能。真正好的系统还包括完善的、监控、存储、页面数据保存和更新逻辑、排重等等。爬虫是一个耗费带宽的应用,好的设计会节约大量的带宽和服务器资源,并且好坏差距很大。 转: https://zhidao.baidu.com/question/1885634565836914348.html

转载地址:http://qhnql.baihongyu.com/

你可能感兴趣的文章
do 一下来了一个 redux
查看>>
Vue教程09:双向绑定对象中属性原理
查看>>
如何实现VM框架中的数据绑定
查看>>
关于this
查看>>
[译] 系列教程:选择准备安装的 TensorFlow 类型
查看>>
Webhook到底是个啥?
查看>>
Flutter学习 ---- TravisCI加持
查看>>
借用UAC完成的提权思路分享
查看>>
【小程序踩坑系列1】 扫普通二维码调起小程序bug:码地址传递错误,传为历史地址...
查看>>
高阶自定义View --- 粒子变幻、隧道散列、组合文字
查看>>
Django REST framework API 指南(6):路由
查看>>
性能优化工具知识梳理(6) Memory Monitor & Heap Viewer & Allocation Tracker
查看>>
《Java8实战》-第八章笔记(重构、测试和调试)
查看>>
安卓调用PrinterShare实现无线打印功能
查看>>
Python 学习(一)
查看>>
Android开发人员不得不学习的JavaScript基础(二)
查看>>
Android项目实践——短信发送接口的封装与设计
查看>>
openresty下lua的function定义及调用
查看>>
五分钟看懂UML类图与类的关系详解
查看>>
Android中Lottie的简单使用
查看>>