PHP爬虫和基于命令行的Python爬虫有什么差别
发布网友
发布时间:2022-04-26 04:46
我来回答
共2个回答
热心网友
时间:2022-04-18 09:21
php和python 写爬虫采集一些简单的都可以,但是相对来说python更好,更方便,有很多现成的库和方法支持直接解析网站,剖析你需要的数据,而php需要你大部分正则匹配,麻烦。
热心网友
时间:2022-04-18 10:39
PHP从语言层面上讲几乎是一无是处,具体实现的质量也乏善可陈,但它胜在最要命的部署上:没有任何其他语言有像PHP一样适合大规模部署的方式。基本上装好Apache/mod_php之后,PHP应用的部署就简化为了复制文件。即便是考虑到性能原因等采用nginx/FastCGl等替代方式,额外的工作也只是在于最初配置。一旦配置完成,之后的部署都是文件复制。服务器重启后通常会自动启动apache/nginx,fastcgi manager 负责启动php-cgi进程等,而PHP应用基于文件的调用方式并不需要操心更多的维护。这对于如Dreamhost之类的平台来说至关重要:他们通常要一台服务器处理成千上万的低流量用户,而且这些用户没有 root权限去运行其他进程。PHP脚本的生命周期很短,没有常驻进程,每次调用之后就被终止,对于应用作者的要求更低,不用太多的考虑资源管理问题。
这和Python之流的部署有天壤之别:大部分Python 的网络应用如Django, Tornado 等都需要单独的常驻进程(Apache/mod_python似乎是个杯具)。这些进程需要额外的维护工作以管理其启动、停止,也需要额外的监控进程处理意外退出后的重启。这需要用户对系统有更深入的了解。常驻进程需要占用系统内存,通常不可能在一台服务器上运行成百上千个应用,对于Dreamhost这样的服务提供商来说不适合用来处理诸如WordPress 博客之类的简单应用。常驻进程也要求作者对系统资源的管理、垃圾回收机制等有更深入的了解以避免内存泄露、资源占用过度等问题。现在Python网络应用部署最简单的应该是App Engine,采用了类似PHP的生命周期(请求处理30秒*,超时被终止,无法运行常驻进程),极大简化了管理难度,但是国内无法访问...
所以从流行程度上讲,Python不会超过PHP,因为数量庞大的服务提供商无法用Python支撑现有的用户规模。但是这个流行程度对于创业公司、专业人士来说没有什么意义。很多核心的网络应用不适合用PHP的短暂请求处理机制实现(比如准实时push提醒、网页即时聊天等),而更加适合由常驻进程来处理。这些才是 Python,Ruby等语言实现发挥其能量的地方。