2018/4/15 15:09:54当前位置推荐好文社会热点浏览文章

说到做爬虫,大家都可可以第一时间想到的是python,其实php也是能消耗来写爬虫程序的。php一贯简洁、易消耗,亲测使消耗PHPspider框架10分钟就可以写出一个简单的爬虫程序。

一、PHP环境安装

和python一样,PHP也需要环境,能使消耗官网下载的PHP,也能使消耗XAMPP、PHPstudy等集成环境下的PHP。比较推荐集成环境,省去单独安装Mysql数据库。

二、composer安装

composer是PHP下的依赖包管理工具,相似于Python中的PIP。
中文官网为https://www.phpcomposer.com/
下载安装就可,win+R运行cmd,输入composer命令,出现如下图所示说明安装成功了。

三、PHPspider安装

在任意位置建立一个文件夹,例如我们要抓取简书的数据,我们能在D盘建立jianshu文件夹,而后cmd命令进入该文件夹,运行命令

composer require owner888/phpspider

如下结果便是成功安装了。

四、开始写第一个爬虫

现在打开jianshu文件夹,会发现里面多了少量东西,不消耗管它,建立一个php文件,开始打代码。


开发文档在这:https://doc.phpspider.org/demo-start.html
这边不讲基础,直接上代码,由于咱们是做的10分钟快速教程。
匹配方式使消耗XPach语法。

<?phprequire /vendor/autoload.php;use phpspider\core\phpspider;/ Do NOT this comment // 不要删除这段注释 /$configs = array(name => 简书,log_show =>false,tasknum => 1,//数据库配置db_config => array(host  => 127.0.0.1,port  => 3306,user  => root,pass  => ,name  => demo,),export => array(type => db,table => jianshu,  // 假如数据表没有数据新添加请检查表结构和字段名能否匹配),//爬取的域名列表  domains => array(    jianshu,    www.jianshu.com), //抓取的起点scan_urls => array(    https://www.jianshu.com/c/V2CqjW?utm_medium=index-collections&utm_source=desktop),//列表页实例list_url_regexes => array(    "https://www.jianshu.com/c/\d+"),//内容页实例//  \d+  指的是变量content_url_regexes => array(    "https://www.jianshu.com/p/\d+",),max_try => 5,fields => array(    array(        name => "title",        selector => "//h1[@class=title]",        required => true,    ),    array(        name => "content",        selector => "//div[@class=show-content-free]",        required => true,    ),),);$spider = new phpspider($configs);$spider->start();

略微解释一下一下句法的含义:

//h1[@class=title]
获取所有class值为title的h1节点

//div[@class=show-content-free]
获取所有class值为show-content-free的div节点

具体为什么这么写呢?自己看简书的html源码吧。

打完代码后,记得根据要抓取的内容建立对应的数据库、数据表,字段要可以对对上。

接着cmd,输入

php -f d:\jianshu\spider.php

运行如下


打开数据看一下,是不是都抓取到了呢?

网友评论