利用phpspider爬取網站數據


本文實例原址:PHPspider爬蟲10分鍾快速教程

在我們的工作中可能會涉及到要到其它網站去進行數據爬取的情況,我們這里使用phpspider這個插件來進行功能實現。

1、首先,我們需要php環境,這點不用說。

2、安裝composer,這個網上教程很多,這里不多做贅述,一面顯得篇幅太長。

3、利用composer進行phpspider安裝。

  在安裝的過程中,我們可能會遇到composer require長時間沒反應的情況,這樣的話。我們就需要換到中國鏡像。方法如下:

  Packagist 鏡像使用方法

  鏡像配置好后,我們就進行phpspider的安裝了。

  新建一個文件夾,這里暫時取名為composerInstallDemo。

  打開文件夾,並在文件夾地址欄中輸入“cmd”直接進入該文件夾的cmd模式。

    

  

  再在dos窗口中輸入一下命令:

  composer require owner888/phpspider

  出現一下界面,則證明,phpspider已經安裝成功。

  

4、編寫自己的第一個爬蟲程序。

  打開composerInstallDemo文件夾,在文件夾下新建一個php文件(名字隨意,這里我創建的是index.php)

  

<?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節點

  具體為什么這么寫呢?自己看簡書的html源碼吧。

  打完代碼后,記得根據要抓取的內容建立對應的數據庫、數據表,字段要能對對上。

  數據庫如下:
  
5、萬事俱備,只欠東風。
   接着cmd,輸入php -f C:\Users\0923\Desktop\composerInstallDemo\index.php
   運行如下
  
6、打開數據看一下,是不是都抓取到了呢?
  
 
  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM