(例子)PHP 資料抓取小例子

2021-07-23 02:11:58 字數 2341 閱讀 9168

為了加強php語言的學習,自己沒事寫了個小例子,抓取慕課網的課程列表。

就是乙個簡單的小例子,沒用curl等擴充套件只用了原生的php。

流程:

根據url開啟**=>轉成字串=>正規表示式提取資訊=>存入資料庫。

而且有乙個缺點就是因為要開啟的頁面太多,導致網路不好的情況下解析的時間太長了,會報錯停止執行。

正在向方法改進。

下面是抓取的一部分資料:

}//返回課程資訊

return

$courselist;

}/**

* 讀取網頁到為乙個字串

*@param [type] $handle [description]

*@return [type] [description]

*/private

function

get_contents

($handle)

/*** 解析網頁中的課程資訊為陣列

*@param string $content 網頁資訊

*@return array

*/private

function

getdivlist

($content)

";$result = preg_match_all("/([\s\s]*)?/", $content, $match_result);

$divlist = explode('moco-course-wrap',$match_result[0][0]);

return

$divlist;

}/**

* 從陣列中解析出課程資訊

*@param array $divlist 課程陣列

*@return array 課程資訊

*/private

function

getcourse

($divlist)

}return

$courses;

}/**

* 獲取最大頁數

*@param string $content 網頁資訊

*@return string 最大頁數

*/public

function

getmaxpage

($content)

/*** 在字串中提取兩個特定字串之間的資訊

*@param string $string 要分割的字串

*@param string $mark1 第乙個標記字串

*@param string $mark2 第二個標記字串

*@param int $num 標記字串長度

*@return string 提取出的字串

*/public

function

getneedbetween

($string,$mark1,$mark2,$num)

$string=substr($string,($st+$num),($ed-$st-$num));

return

$string;

}}$crawler = new webcrawler;

$courses = $crawler->getdata('');

var_dump($courses);

/*這部分是儲存到資料庫用的,自己改一下就行。*/

// 建立連線

$con = new mysqli("localhost","root", "","mydb");

// 檢測連線

if ($con->connect_error)

// 預處理及繫結

$stmt = $con->prepare("insert into course (title,url,img,introduce,student)

values (?, ?,?,?,?)");

$stmt->bind_param("sssss", $title, $url, $img,$introduce ,$student);

foreach ($courses

as$course)

echo

"新記錄插入成功";

$stmt->close();

//關閉連線

$con->close();

scrapy splash抓取動態資料例子四

本例子用scrapy splash抓取微眾圈 給定關鍵字抓取諮詢資訊。給定關鍵字 打通 融合 電視 抓取資訊內如下 1 資訊標題 2 資訊鏈結 3 資訊時間 4 資訊 針對上面的 資訊,來進行抓取 1 首先抓取資訊列表 抓取 sels site.xpath li class itemtitle 2 ...

scrapy splash抓取動態資料例子八

本例子用scrapy splash抓取介面 給定關鍵字抓取諮詢資訊。給定關鍵字 個性化 融合 電視 抓取資訊內如下 1 資訊標題 2 資訊鏈結 3 資訊時間 4 資訊 針對上面的 資訊,來進行抓取 1 首先抓取資訊列表 抓取 sels site.xpath div contains class,ne...

scrapy splash抓取動態資料例子四

本例子用scrapy splash抓取微眾圈 給定關鍵字抓取諮詢資訊。給定關鍵字 打通 融合 電視 抓取資訊內如下 1 資訊標題 2 資訊鏈結 3 資訊時間 4 資訊 針對上面的 資訊,來進行抓取 1 首先抓取資訊列表 抓取 sels site.xpath li class itemtitle 2 ...