簡體   English   中英

使用PHP cURL和XPath進行爬網,如何加快處理速度?

[英]Scraping with PHP cURL and XPath, how to speed up things?

目前,我正在使用PHP cURL和XPath進行抓取,但速度非常慢。

每個網站都有許多使用Javascript的URL和許多子頁面。

一個網站上說有30​​個產品類別,每個類別大約有70個子頁面,每個子頁面上有10個項目。

以上我總共抓取了約150個網頁。

一個腳本訪問一個網站,然后一次抓取該頁面的所有URL。 同時,另一個腳本正在運行。

每個腳本使用一個URL,將數據提取到一個變量中,然后使用XPath進行抓取,然后將值存儲在DB中。

許多頁面將Javascript與Microsoft ASP.NET Viewstate一起使用,因此需要執行許多循環才能從第1頁跳轉到第2頁,依此類推。

一個腳本可能需要運行大約2個小時,才能從單個網站獲取所有內容。

如何加快速度?

我一直在考慮做與上述相同的操作,但只先在本地存儲每個頁面,然后再存儲單個網站的每個頁面時再進行抓取。

有人對此很有經驗嗎? 必須考慮Javascript / viewstate,所以我不能只是先了解所有內容。

您可以使用mutli-curl一次獲取多個頁面。 如果需要,您可以在一個mutli-curl請求中請求所有30個類別頁面。 要處理每個頁面,可以使用派生(pctl_fork)。 結合這兩種技術,您的計算機CPU /網絡可能成為瓶頸。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM