說到做爬蟲,大家都可能第一時間想到的是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
如下結果便是成功安裝了。
相關推薦:《php環境搭建》
4、開始寫第一個爬蟲
現在打開jianshu資料夾,會發現裡面多了一些東西,不用管它,建立一個php文件,開始打程式碼。
開發文件在這:https://doc.phpspider.org/demo-start.html
這邊不講基礎,直接上程式碼,因為咱們是做的10分鐘快速教學。
匹配方式使用XPach語法。
<?php require '/vendor/autoload.php'; use phpspider\core\phpspider; /* Do NOT delete 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節點
打完程式碼後,記得根據要抓取的內容建立對應的資料庫、資料表,欄位要能對上。
接著cmd,輸入:
php -f d:\jianshu\spider.php
執行如下:
####################### ####打開資料看一下,是不是都抓取到了呢? ############以上是php爬蟲框架怎麼安裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!