如何用php 編寫網路爬蟲?

如何用PHP語言編寫網路爬蟲?
1.別跟我說PHP不適合干這個,我不想為了寫爬蟲專門學一門新的語言,我知道它能實現
2.我又一定的PHP編程基礎,熟悉數據結構與演算法,有一般的網路基礎知識,比如TCP/IP協議等概念
3.能否提供具體書籍名稱,網路文章名
4.我可以貪心的求源碼么?
謝謝!


  • pcntl_fork或者swoole_process實現多進程並發。按照每個網頁抓取耗時500ms,開200個進程,可以實現每秒400個頁面的抓取。
  • curl實現頁面抓取,設置cookie可以實現模擬登錄
  • simple_html_dom 實現頁面的解析和DOM處理
  • 如果想要模擬瀏覽器,可以使用casperJS。用swoole擴展封裝一個服務介面給PHP層調用

在多玩網這裡有一套爬蟲系統就是基於上述技術方案實現的,每天會抓取幾千萬個頁面。


你需要這個-Goutte, a simple PHP Web Scraper-FriendsOfPHP/Goutte · GitHub


USTC Spider 這就是用PHP寫的,每隔一段時間抓取一下目標網站,將數據寫入本地,然後直接讀取本地文件即可。


php實現內容爬蟲不難,樓上說的curl,selenium已經幾乎可以完成所有可能的任務了。但是,如果還想進行內容處理,最好還是能加上一個可以處理用戶交互的東西,casperjs就是啦。


php爬蟲教程(一) 簡單的頁面抓取 可以看下這個


php模擬登錄教務系統,測試時顯示登錄成功但是頁面沒有跳轉出來


下午剛寫的一個 通過關鍵詞抓取符合要求的豆瓣小組的信息 ,很糙。也是剛開始學。
有個問題就是老被封, 還在想怎麼解決...
還有就是太慢了... 單線程做的. 我看投票最多的答案還挺好的。準備繼續改造改造。


最簡單的用正則表達式+get_file_contents即可實現爬蟲


推薦閱讀:

有什麼是 Python 可以做,但是 PHP 不可以做的?
PHP socket通信問題, 如何按照自定義的協議進行通信?
php 如何取img屬性值 src?
wordpress 代碼質量怎麼樣?
新手適合學什麼計算機語言?

TAG:PHP | 編程 | 網路編程 | PHP開發 |