首页  >  问答  >  正文

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

为什么写爬虫都喜欢用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有一些更强大的特性楼主不懂,因此前来请教)

高洛峰高洛峰2722 天前1442

全部回复(21)我来回复

  • 迷茫

    迷茫2017-04-10 17:54:35

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

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-10 17:54:35

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

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-10 17:54:35

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

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

    回复
    0
  • 迷茫

    迷茫2017-04-10 17:54:35

    都可以做。

    python比较多看到可能是因为

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

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

    回复
    0
  • 迷茫

    迷茫2017-04-10 17:54:35

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

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-10 17:54:35

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

    回复
    0
  • ringa_lee

    ringa_lee2017-04-10 17:54:35

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

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

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

    回复
    0
  • 迷茫

    迷茫2017-04-10 17:54:35

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

    回复
    0
  • 黄舟

    黄舟2017-04-10 17:54:35

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

    回复
    0
  • PHP中文网

    PHP中文网2017-04-10 17:54:35

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

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

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

    回复
    0
  • 取消回复