1、如果是定向爬取幾個頁面,做一些簡單的頁面解析,爬取效率不是核心要求,那麼用什麼語言差異不大。
當然要是頁面結構複雜,正規表示式寫得巨複雜,尤其是用過那些支援xpath的類庫/爬蟲庫後,就會發現此種方式雖然入門門檻低,但擴充套件性、可維護性等都奇差。因此此種情況下還是推薦採用一些現成的爬蟲庫,諸如xpath、多執行緒支援還是必須考慮的因素。
2、如果是定向爬取,且主要目標是解析js動態生成的內容
此時候,頁面內容是有js/ajax動態生成的,用普通的請求頁面->解析的方法就不管用了,需要借助乙個類似firefox、chrome瀏覽器的js引擎來對頁面的js**做動態解析。
此種情況下,推薦考慮casperjs+phantomjs或slimerjs+phantomjs ,當然諸如selenium之類的也可以考慮。
3、如果爬蟲是涉及大規模**爬取,效率、擴充套件性、可維護性等是必須考慮的因素時候
大規模爬蟲爬取涉及諸多問題:多執行緒併發、i/o機制、分布式爬取、訊息通訊、判重機制、任務排程等等,此時候語言和所用框架的選取就具有極大意義了。
php對多執行緒、非同步支援較差,不建議採用。
python:強烈建議,對以上問題都有較好支援。尤其是scrapy框架值得作為第一選擇。優點諸多:支援xpath;基於twisted,效能不錯;有較好的除錯工具;
此種情況下,如果還需要做js動態內容的解析,casperjs就不適合了,只有基於諸如chrome v8引擎之類自己做js引擎。
至於c、c++雖然效能不錯,但不推薦,尤其是考慮到成本等諸多因素;對於大部分公司還是建議基於一些開源的框架來做,不要自己發明輪子,做乙個簡單的爬蟲容易,但要做乙個完備的爬蟲挺難的。
如何使用python寫爬蟲程式?
python編寫爬蟲的整體思路簡單清晰,下面來說一下具體的步驟 先來看 在解釋,乙個簡單的網路爬蟲示例 import requests from bs4 import beautifulsoup 58同城的二手市場主頁面 start url url host 定義乙個爬蟲函式來獲取二手市場頁面中的全...
如何使用python寫爬蟲程式
python編寫爬蟲的整體思路簡單清晰,下面來說一下具體的步驟 先來看 在解釋,乙個簡單的網路爬蟲示例 import requests from bs4 import beautifulsoup 58同城的二手市場主頁面 start url url host 定義乙個爬蟲函式來獲取二手市場頁面中的全...
寫爬蟲程式應注意的問題
我們知道,網路爬蟲是一種按照一定的規則,自動地抓取 資訊的程式或者指令碼。那麼,我們怎麼通過網路爬蟲獲取所需要的 資訊呢?不同的 有不同的規則,爬蟲工程師根據這些規則設計不同的網路爬蟲,以此來順利獲取所需要的資訊。一 開放api的 乙個網如果開放了api,那麼就可以直接get到它的json資料。有三...