這一章節咱們正式開展咱們的爬蟲項目,首先咱們先要知道哪一個網站能獲取到免費代理IP,目前比較火的有西刺代理,快代理等,這裏咱們拿西刺代理做爲例子。php
這裏就是一個個免費的IP地址以及各自的端口號,咱們的任務就是要把這些IP和端口號爬取下來,檢測其可用性而且存儲起來。linux
首先咱們須要編寫一個入口文件,咱們命名爲run.php,其內容大概是這樣:windows
use ProxyPool\core\ProxyPool; $proxy = new ProxyPool(); $proxy->run();
實例化ProxyPool而且調用裏面的run方法,而咱們要用到命名空間而且use它,天然就避免不了一個autoloader(根據命名自動加載對應的文件)。網站
代碼以下:ui
<?php namespace AutoLoad; class autoloader { /** * 根據命名自動加載 * * @param string $name use的路徑,例如咱們這裏就是ProxyPool\core\ProxyPool * @return boolean */ public static function load_namespace($name) { //兼容windows和linux的目錄分隔符 $class_path = str_replace('\\', DIRECTORY_SEPARATOR, $name); //獲取文件路徑 $class_file = __DIR__ . substr($class_path, strlen('ProxyPool')) . '.php'; //若是不存在,去上一層目錄尋找 if (empty($class_file) || !is_file($class_file)) { $class_file = __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . "$class_path.php"; } if (is_file($class_file)) { require_once($class_file); if (class_exists($name, false)) { return true; } } return false; } } //spl註冊自動加載 spl_autoload_register('\AutoLoad\autoloader::load_namespace');
而後咱們再回來修改咱們的run.php文件:spa
<?php require_once __DIR__ . '/autoloader.php'; use ProxyPool\core\ProxyPool; $proxy = new ProxyPool(); $proxy->run();
這樣咱們就能夠經過命名空間直接use咱們本身寫好的各個類文件啦。代理