關於php網路爬蟲phpspider。

2021-08-13 02:47:28 字數 2000 閱讀 9105

前幾天,被老闆拉去說要我去抓取大眾點評某家店的資料,當然被我義正言辭的拒絕了,理由是我不會。。。但我的反抗並沒有什麼卵用,所以還是乖乖去查資料,因為我是從事php工作的,首先找的就是php的網路爬蟲原始碼,在我的不懈努力下,終於找到phpspider,開啟phpspider開發文件首頁我就被震驚了,標題《我用爬蟲一天時間「偷了」知乎一百萬使用者,只為證明php是世界上最好的語言 》,果然和我預料的一樣,php就是世界上最好的語言。廢話少說,下面開始學習使用。

首先看的是提供的乙個demo,**如下:

$configs = array(

'name' => '糗事百科',

'domains' => array(

'qiushibaike.com',

'www.qiushibaike.com'

),'scan_urls' => array(

''),

'content_url_regexes' => array(

"article/\d+"

),'list_url_regexes' => array(

"8hr/page/\d+\?s=\d+"

),'fields' => array(

array(

// 抽取內容頁的文章內容'max_try' => 5,

'export' => array(

'type' => 'db',

'conf' => array(

'host' => 'localhost',

'port' => 3306,

'user' => 'root',

'pass' => 'root',

'name' => 'demo',

),'table' => '360ky',

),

'name' => "article_content", 'selector' => "//*[@id='single-next-link']", 'required' => true ), array( // 抽取內容頁的文章作者 'name' => "article_author", 'selector' => "//div[contains(@class,'author')]//h2", 'required' => true ), ),);$spider = new phpspider($configs);$spider->start();

每項具體的資訊,可以去 檢視,**比較詳細,這裡只說下我走的彎路,

domains是定義採集的網域名稱,只在該網域名稱下採集,
content_url_regexes是採集的內容頁,使用chrome檢視網頁原始碼,然後使用selector選擇器定位,selector使用xpath格式定位引數,當然也可以用css來選擇。
list_url_regexes列表頁,每個列表頁抓取多條content_url_regexes的url迴圈採集。

還有一些其他引數沒有列出來,例如:

'max_try' => 5,

'export' => array(

'type' => 'db',

'conf' => array(

'host' => 'localhost',

'port' => 3306,

'user' => 'root',

'pass' => 'root',

'name' => 'demo',

),'table' => '360ky',

),

max_try 同時工作的爬蟲任務數。
export採集資料儲存,有兩種格式,一種是寫到資料庫中,一種是直接生成.csv格式檔案。

只要url規則寫的對,就可以執行,不用管框架裡面的封裝。當然,此框架只能在php-cli命令列下執行,所以使用前要先配置環境變數,或者cd到php安裝路徑執行。

最後成功採集到大眾點評某點的一千多條資料。

php網路爬蟲教程 PHP網路爬蟲之CURL詳解

php的curl可以實現模擬http的各種請求,這也是php做網路爬蟲的基礎,也多用於介面api的呼叫。這個時候有人就要發問了 為什麼你特麼不用file get contents?curl的效能比它好,而且可以完成更多複雜的操作,不僅僅只是獲取頁面資料。下面先分別介紹一些常用的函式。curl ini...

關於PHP爬蟲和Android定位的初步設想

利用php,對某天氣 爬蟲,每一小時爬一次。首先由使用者輸入指定城市。對 雨 雪 霧 風 等異常天氣做監控,如果某頁內容中含有關鍵字,則 1.向指定郵箱傳送郵件。可以是139 沃 天翼郵箱,以實現免費簡訊提醒。3.以某種方式實現ical檔案的輸出,輸出內容包括觸發警告的該日的所有天氣資訊,該檔案可匯...

關於網頁中的請求頭 網路爬蟲

可能有些同學並不太懂為什麼寫爬蟲首先要加乙個請求頭,下面是引用了崔慶才老師寫的 python3網路爬蟲實戰開發 中的一篇文章,請大家參考 是用來說明伺服器要使用的附加資訊,比較重要的資訊有cookiereferer user agent 下面簡要說明 些常用的頭資訊 accept 請求報頭域,用於指...