python和php哪个更适合写爬虫

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哪个适合做爬虫内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • php与python实现的线程池多线程爬虫功能示例

    本文实例讲述了php与python实现的线程池多线程爬虫功能.分享给大家供大家参考,具体如下: 多线程爬虫可以用于抓取内容了这个可以提升性能了,这里我们来看php与python 线程池多线程爬虫的例子,代码如下: php例子 <?php class Connect extends Worker //worker模式 { public function __construct() { } public function getConnection() { if (!self::$ch) { sel

  • python和php哪个更适合写爬虫

    python和PHP相比较,python适合做爬虫.原因如下 抓取网页本身的接口 相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁:相比其他动态脚本语言,如perl,shell,python的urllib2包提供了较为完整的访问网页文档的API.(当然ruby也是很好的选择) 此外,抓取网页有时候需要模拟浏览器的行为,很多网站对于生硬的爬虫抓取都是封杀的.这是我们需要模拟user agent的行为构造合适的请求,譬如模拟用户登陆.模拟session/cook

  • 为什么说python适合写爬虫

    抓取网页本身的接口 相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁:相比其他动态脚本语言,如perl,shell,python的urllib2包提供了较为完整的访问网页文档的API.(当然ruby也是很好的选择) 此外,抓取网页有时候需要模拟浏览器的行为,很多网站对于生硬的爬虫抓取都是封杀的.这是我们需要模拟user agent的行为构造合适的请求,譬如模拟用户登陆.模拟session/cookie的存储和设置.在python里都有非常优秀的第三方包帮你搞

  • python和c语言哪个更适合初学者

    C语言是编译型语言,经过编译后,生成机器码,然后再运行,执行速度快,不能跨平台,一般用于操作系统,驱动等底层开发. Python是编译型还是解释型这个界限并不明显,但大致上可以理解为解释型语言,执行速度慢,由于Python虚拟机,Python是可以跨平台的,Python高度集成适合于软件的快速开发. C语言中需要事先定义变量类型,以int类型为例,当定义一个int型变量后,就会在内存中开辟4个字节,再来进行初始化,由于长度是指定的,在运算过程中需要考虑,溢出,精度等问题. Python不需要事先

  • 为什么说python更适合树莓派编程

    树莓派是一个非常廉价的.只有手掌大小的完全可编程的计算机.虽然树莓派的体积小,但是它的潜力无限.你可以像使用常规台式计算机一样在树莓派上创建一个非常酷的工程.例如,你可以用树莓派搭建你自己的家用云存储服务器. 树莓派用python来进行编程.树莓派项目的一个核心思想是Python编程语言的使用.Python允许树莓派的拥有者将项目扩展到令人难以置信的规模. Python是一个解释型的面向对象的.跨平台的编程语言.良好的可靠性.清晰的语法和易用性,使它成为最流行的编程语言之一.Python是一个优

  • 用python写爬虫简单吗

    所谓网络爬虫,通俗的讲,就是通过向我们需要的URL发出http请求,获取该URL对应的http报文主体内容,之后提取该报文主体中我们所需要的信息. 下面是一个简单的爬虫程序 http基本知识 当我们通过浏览器访问指定的URL时,需要遵守http协议.本节将介绍一些关于http的基础知识. http基本流程 我们打开一个网页的过程,就是一次http请求的过程.这个过程中,我们自己的主机充当着客户机的作用,而充当客户端的是浏览器.我们输入的URL对应着网络中某台服务器上面的资源,服务器接收到客户端发

  • 如何用PyPy让你的Python代码运行得更快

    Python是开发人员中最常用的编程语言之一,但它有一定的局限性.例如,对于某些应用程序而言,它的运行速度可能比其它语言低100倍.这就是为什么当Python的运行速度成为用户瓶颈后,许多公司会用另一种语言重写他们的应用程序.但是有没有一种方法既可以保持Python的特性又能提高速度呢?它就是PyPy. PyPy是一种非常兼容的Python解释器,它是CPython2.7.3.6和即将推出的3.7的一种值得替代的方法.在安装和运行应用程序时使用它,可以显著提高速度.速度提高多少取决于你运行的应用

  • 基于Python实现的百度贴吧网络爬虫实例

    本文实例讲述了基于Python实现的百度贴吧网络爬虫.分享给大家供大家参考.具体如下: 完整实例代码点击此处本站下载. 项目内容: 用Python写的百度贴吧的网络爬虫. 使用方法: 新建一个BugBaidu.py文件,然后将代码复制到里面后,双击运行. 程序功能: 将贴吧中楼主发布的内容打包txt存储到本地. 原理解释: 首先,先浏览一下某一条贴吧,点击只看楼主并点击第二页之后url发生了一点变化,变成了: http://tieba.baidu.com/p/2296712428?see_lz=

  • Python使用CMD模块更优雅的运行脚本

    本文实例讲述了Python使用CMD模块更优雅的运行脚本的方法.分享给大家供大家参考.具体分析如下: 平时由于经常给测试人员调试一些东西,虽然写了一些脚本,感觉还是不方便. python的cmd模块提供的更优雅的方式,很喜欢. 刚写了一些平时常用的测试代码: # -*- coding:utf-8 -*- import os, sys from datetime import datetime import cmd import warnings from django.conf import s

  • java能写爬虫程序吗

    我们经常会使用网络爬虫去爬取需要的内容,提到爬虫,可能大家伙都会想到python,其实除了python,还有java.java的编程语言简单规范,是很好的爬虫工具.而且java爬虫的语言运行速度比python快,另外,java的多线程是可以利用多核的. 1.java为什么可以应用于网络爬虫? java语法比较规则,采用严格的面向对象编程方法: Java是Android开发的基石, 是Web开发的主流语言: 具有很好的扩展性可伸缩性,其是目前搜索引擎开发的重要组成部分: java爬虫的语言运行速度

  • Python获取江苏疫情实时数据及爬虫分析

    目录 1.引言 2.获取目标网站 3.爬取目标网站 4.解析爬取内容 4.1. 解析全国今日总况 4.2. 解析全国各省份疫情情况 4.3. 解析江苏各地级市疫情情况 5.结果可视化 6. 代码 7. 参考 1.引言 最近江苏南京.湖南张家界陆续爆发疫情,目前已波及8省22市,全国共有2个高风险地区,52个中风险地区.身在南京,作为兢兢业业的打工人,默默地成为了"苏打绿".为了关注疫情状况,今天我们用python来爬一爬疫情的实时数据. 2.获取目标网站 为了使用python来获取疫情

随机推荐