如何用php 編寫網路爬蟲?

來源:互聯網
上載者:User
關鍵字 PHP TCP IP
如何用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就是啦。《Webbots、Spiders和Screen Scrapers:技術解析與應用實踐》下午剛寫的一個 通過關鍵詞抓取符合要求的豆瓣小組的資訊 ,很糙。也是剛開始學。
有個問題就是老被封, 還在想怎麼解決...
還有就是太慢了... 單線程做的. 我看投票最多的答案還挺好的。準備繼續改造改造。php類比登入教務系統,測試時顯示登入成功但是頁面沒有跳轉出來最簡單的用Regex+get_file_contents即可實現爬蟲
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.