php的curl_mulit系列的函數可以實現併發請求,抓取頁面
各函數作用解釋:
curl_multi_init()
初始化一個curl批處理句柄資源。
curl_multi_add_handle()
向curl批處理會話中添加單獨的curl句柄資源。curl_multi_add_handle()函數有兩個參數,第一個參數表示一個curl批處理句柄資源,第二個參數表示一個單獨的curl句柄資源。
curl_multi_exec()
解析一個curl批處理句柄,curl_multi_exec()函數有兩個參數,第一個參數表示一個批處理句柄資源,第二個參數是一個引用值的參數,表示剩餘需要處理的單個的curl句柄資源數量。
curl_multi_remove_handle()
移除curl批處理句柄資源中的某個句柄資源,curl_multi_remove_handle()函數有兩個參數,第一個參數表示一個curl批處理句柄資源,第二個參數表示一個單獨的curl句柄資源。
curl_multi_close()
關閉一個批處理句柄資源。
curl_multi_getcontent()
在設置了CURLOPT_RETURNTRANSFER的情況下,返回獲取的輸出的文本流。
curl_multi_info_read()
獲取當前解析的curl的相關傳輸信息。
最後推薦一個基於curl_multi之上的第三方包rolling-curl。