python和php哪个更适合写爬虫


Posted in Python onJune 22, 2020

python和PHP相比较,python适合做爬虫。原因如下

抓取网页本身的接口

相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁;相比其他动态脚本语言,如perl,shell,python的urllib2包提供了较为完整的访问网页文档的API。(当然ruby也是很好的选择)

此外,抓取网页有时候需要模拟浏览器的行为,很多网站对于生硬的爬虫抓取都是封杀的。这是我们需要模拟user agent的行为构造合适的请求,譬如模拟用户登陆、模拟session/cookie的存储和设置。在python里都有非常优秀的第三方包帮你搞定,如Requests,mechanize

网页抓取后的处理

抓取的网页通常需要处理,比如过滤html标签,提取文本等。python的beautifulsoap提供了简洁的文档处理功能,能用极短的代码完成大部分文档的处理。

其实以上功能很多语言和工具都能做,但是用python能够干得最快,最干净。Life is short, u need python.

py用在linux上很强大,语言挺简单的。

NO.1 快速开发(唯一能和python比开发效率的语言只有rudy)语言简洁,没那么多技巧,所以读起来很清楚容易。

NO.2跨平台(由于python的开源,他比java更能体现”一次编写到处运行”

NO.3解释性( 无须编译,直接运行/调试代码)

NO.4构架选择太多(GUI构架方面 主要的就有 wxPython, tkInter, PyGtk, PyQt 。

PHP 脚本主要用于以下三个领域:

服务端脚本。这是 PHP 最传统,也是最主要的目标领域。开展这项工作需要具备以下三点:PHP 解析器(CGI 或者服务器模块)、web

服务器和 web 浏览器。需要在运行 web 服务器时,安装并配置 PHP,然后,可以用 web 浏览器来访问 PHP 程序的输出,即浏览服务

端的 PHP 页面。如果只是实验 PHP 编程,所有的这些都可以运行在自己家里的电脑中。请查阅安装一章以获取更多信息。命令行脚本。

可以编写一段 PHP 脚本,并且不需要任何服务器或者浏览器来运行它。通过这种方式,仅仅只需要 PHP 解析器来执行。这种用法对于依

赖 cron(Unix 或者 Linux 环境)或者 Task Scheduler(Windows 环境)的日常运行的脚本来说是理想的选择。这些脚本也可以用来处

理简单的文本。请参阅 PHP 的命令行模式以获取更多信息。编写桌面应用程序。对于有着图形界面的桌面应用程序来说,PHP 或许不是

一种最好的语言,但是如果用户非常精通 PHP,并且希望在客户端应用程序中使用 PHP 的一些高级特性,可以利用 PHP-GTK 来编写这

些程序。用这种方法,还可以编写跨平台的应用程序。PHP-GTK 是 PHP 的一个扩展,在通常发布的 PHP 包中并不包含它。

网友观点扩展:

我用 PHP Node.js Python 写过抓取脚本,简单谈一下吧。

首先PHP。先说优势:网上抓取和解析html的框架一抓一大把,各种工具直接拿来用就行了,比较省心。缺点:首先速度/效率很成问题,有一次下载电影海报的时候,由于是crontab定期执行,也没做优化,开的php进程太多,直接把内存撑爆了。然后语法方面也很拖沓,各种关键字 符号 太多,不够简洁,给人一种没有认真设计过的感觉,写起来很麻烦。

Node.js。优点是效率、效率还是效率,由于网络是异步的,所以基本如同几百个进程并发一样强大,内存和CPU占用非常小,如果没有对抓取来的数据进行复杂的运算加工,那么系统的瓶颈基本就在带宽和写入MySQL等数据库的I/O速度。当然,优点的反面也是缺点,异步网络代表你需要callback,这时候如果业务需求是线性了,比如必须等待上一个页面抓取完成后,拿到数据,才能进行下一个页面的抓取,甚至多层的依赖关系,那就会出现可怕的多层callback!基本这时候,代码结构和逻辑就会一团乱麻。当然可以用Step等流程控制工具解决这些问题。

最后说Python。如果你对效率没有极端的要求,那么推荐用Python!首先,Python的语法很简洁,同样的语句,可以少敲很多次键盘。然后,Python非常适合做数据的处理,比如函数参数的打包解包,列表解析,矩阵处理,非常方便。

到此这篇关于python和php哪个更适合写爬虫的文章就介绍到这了,更多相关php和python哪个适合做爬虫内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 Python
Python中使用第三方库xlutils来追加写入Excel文件示例
Apr 05 Python
利用python操作SQLite数据库及文件操作详解
Sep 22 Python
Python静态类型检查新工具之pyright 使用指南
Apr 26 Python
基于python 微信小程序之获取已存在模板消息列表
Aug 05 Python
Python中join()函数多种操作代码实例
Jan 13 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
Feb 17 Python
python实点云分割k-means(sklearn)详解
May 28 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
Jul 28 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
Jan 24 Python
python控制台打印log输出重复的解决方法
May 14 Python
Python中文分词库jieba(结巴分词)详细使用介绍
Apr 07 Python
如何理解python对象
Jun 21 #Python
什么是python的必选参数
Jun 21 #Python
什么是python的自省
Jun 21 #Python
python的json包位置及用法总结
Jun 21 #Python
为什么相对PHP黑python的更少
Jun 21 #Python
通过自学python能找到工作吗
Jun 21 #Python
python中常见错误及解决方法
Jun 21 #Python
You might like
mayfish 数据入库验证代码
2010/04/30 PHP
php foreach 参数强制类型转换的问题
2010/12/10 PHP
20个PHP常用类库小结
2011/09/11 PHP
PHP SOCKET编程详解
2015/05/22 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
jQuery通过Ajax返回JSON数据
2015/04/28 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
jquery实现图片预加载
2015/12/25 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
基于JavaScript实现的希尔排序算法分析
2017/04/14 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
JS中的回调函数实例浅析
2018/03/21 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
关于Vue组件库开发详析
2018/07/01 Javascript
vue异步axios获取的数据渲染到页面的方法
2018/08/09 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
js实现GIF动图分解成多帧图片上传
2019/10/24 Javascript
Vue实现穿梭框效果
2020/09/30 Javascript
Python绘制3D图形
2018/05/03 Python
Python读取实时数据流示例
2019/12/02 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
Myprotein瑞士官方网站:运动营养和健身网上商店
2019/09/25 全球购物
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
关于Java String的一道面试题
2013/09/29 面试题
秋季运动会表扬稿
2014/01/16 职场文书
基层党组织公开承诺书
2014/03/28 职场文书
会员活动策划方案
2014/08/19 职场文书
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
100句人生哲理语录集锦:强者征服今天,懒汉坐等明天
2019/10/18 职场文书