Heim > Fragen und Antworten > Hauptteil
为什么写爬虫都喜欢用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有一些更强大的特性楼主不懂,因此前来请教)
大家讲道理2017-04-10 17:54:35
什么也不用说了 PHP是全世界最好的语言 如果这就是提问者想听到的答案 我原来也是phper 刚刚学习python3 我的感觉就是 python设计确实很精良 尤其语法确实经过认真的设计 PHP语法相对就很凌乱 长年的版本更新造成尾大不掉 还有刚学python的切片功能时 震惊了 居然还能如此方便的处理字符串 所以这东西不用提问 别人说了也不用反驳 自己学一点 高下立判
迷茫2017-04-10 17:54:35
这个Node.js标签是怎么回事,上面都没人说到Node.js?用Node.js写爬虫的路过,主要是因为可以直接模拟浏览器环境执行某些特殊的算法——这样就不用费心破解了。虽然别的语言也可以做到,但是毕竟没有这么自然。
ringa_lee2017-04-10 17:54:35
Python在爬虫方面的确是很好的,有Scrapy这样成熟的框架或者pyspider也好用,并且学习成本很低 ,实践效果都很好,
比如说你要抓取一个网页内容只需要几行代码就可以实现
import requests
html = requests.get('http://www.baidu.com')
只需要这样就能获取页面内容,但这还是最基础的爬虫,如果爬虫需求高时,什么分布式啊,多线程,协程等需求都是很容易实现的,所以Python在爬虫方面还是很不错的
黄舟2017-04-10 17:54:35
python爬虫相关的库更多,而且也更多人在用,这是个互相促进的过程。
写爬虫很多语言都可以写,node.js也可以写,但是很多人是从python入手写爬虫的,习惯了之后偶尔想爬点东西用python很快就做好了,所以...
PHP中文网2017-04-10 17:54:35
python有各种爬虫框架,方便高效的下载网页。另外爬虫是个典型的多任务处理场景,python的多线程、进程模型成熟稳定,提升整个系统下载和分析能力。
另外请求页面带来的延时,所以这个场景是对执行效率要求不高的。
php虽然也有curl拓展,dom,xpath等处理工具,但是它并发处理能力比较弱,现在虽然已经有并发能力但当时没有,所以错过了爬虫需求的高峰,以致于如今写爬虫php不会是首选了。