php - 为什么写爬虫都喜欢用python?
高洛峰
高洛峰 2017-04-10 17:52:35
0
21
1525

为什么写爬虫都喜欢用python?

楼主学php的,但是也自学过python,对php了解还是比较深的,看了一些python爬虫的源代码,感觉同样的功能php也都能写出来啊。

有人可能会吐槽说php不支持多线程,事实上php是有pthreads多线程扩展的,同样也可以很高效的支持php扩展。

楼主平时也玩玩渗透,很多情况下由于对php了解更多用起来更上手,所以很多payload利用或者一些sql注入验证脚本也都是php写的,感觉php数组处理比较方便,对数据的处理要更加灵活。(举个例子,php的数组其实就是python下的集合,元组,字典等数据结构的整合,结合一些数组处理框架比如说Laravel里面的集合辅助函数,甚至可以实现类似于.NET下的Linq语法,这方面我个人觉得php用起来比python要爽一点。不过我也不清楚python下是不是也有类似的类库?)

所以想问问python为什么会更适合编写爬虫?(可能是python有一些更强大的特性楼主不懂,因此前来请教)

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

Antworte allen(21)
迷茫

因为google一开始就用大量的Python做爬虫,所以没有比Python爬虫库更完善的生态环境了。

大家讲道理

什么也不用说了 PHP是全世界最好的语言 如果这就是提问者想听到的答案 我原来也是phper 刚刚学习python3 我的感觉就是 python设计确实很精良 尤其语法确实经过认真的设计 PHP语法相对就很凌乱 长年的版本更新造成尾大不掉 还有刚学python的切片功能时 震惊了 居然还能如此方便的处理字符串 所以这东西不用提问 别人说了也不用反驳 自己学一点 高下立判

Peter_Zhu

都是遗传,20年前 Guido 打算写爬虫爬遍所有网站来着。

http://1997.webhistory.org/ww...

迷茫

都可以做。

python比较多看到可能是因为

1.第三方插件比较多
2.多线程(毕竟PHP没有)

对了,我是写PHP的
当然,我也会python

迷茫

这个Node.js标签是怎么回事,上面都没人说到Node.js?用Node.js写爬虫的路过,主要是因为可以直接模拟浏览器环境执行某些特殊的算法——这样就不用费心破解了。虽然别的语言也可以做到,但是毕竟没有这么自然。

Peter_Zhu

有一个 ,不过大多场景用python phpcrawler,php爬虫,php采集器,多进程,多线程

左手右手慢动作

Python在爬虫方面的确是很好的,有Scrapy这样成熟的框架或者pyspider也好用,并且学习成本很低 ,实践效果都很好,
比如说你要抓取一个网页内容只需要几行代码就可以实现

import requests 
html = requests.get('http://www.baidu.com')

只需要这样就能获取页面内容,但这还是最基础的爬虫,如果爬虫需求高时,什么分布式啊,多线程,协程等需求都是很容易实现的,所以Python在爬虫方面还是很不错的

迷茫

因为python有成熟强大稳定的爬虫框架,这是php所没有的,当然一些小爬虫的话,我觉得基本上主流语言都能很轻松的完成

黄舟

python爬虫相关的库更多,而且也更多人在用,这是个互相促进的过程。
写爬虫很多语言都可以写,node.js也可以写,但是很多人是从python入手写爬虫的,习惯了之后偶尔想爬点东西用python很快就做好了,所以...

洪涛

python有各种爬虫框架,方便高效的下载网页。另外爬虫是个典型的多任务处理场景,python的多线程、进程模型成熟稳定,提升整个系统下载和分析能力。

另外请求页面带来的延时,所以这个场景是对执行效率要求不高的。

php虽然也有curl拓展,dom,xpath等处理工具,但是它并发处理能力比较弱,现在虽然已经有并发能力但当时没有,所以错过了爬虫需求的高峰,以致于如今写爬虫php不会是首选了。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage