PHP爬蟲 -- 008 爬蟲初探
什麼是爬蟲?
- 從本質上來講,就是利用程序在網上拿到對咱們有價值的數據
- 爬蟲能作不少事,能作商業分析,也能作生活助手,
- 好比:分析北京近兩年二手房成交均價是多少?
- 深圳的Python工程師平均薪資是多少?
- 北京哪家餐廳粵菜最好吃?等等。
- 這是我的利用爬蟲所作到的事情,而公司,一樣能夠利用爬蟲來實現巨大的商業價值。
- 好比你所熟悉的搜索引擎——百度和谷歌,它們的核心技術之一也是爬蟲,並且是超級爬蟲。
- 百度這家公司會源源不斷地把千千萬萬個網站爬取下來,存儲在本身的服務器上。
- 你在百度搜索的本質就是在它的服務器上搜索信息,
- 你搜索到的結果是一些超連接,在超連接跳轉以後你就能夠訪問其它網站了
瀏覽器工做原理
- 當服務器把數據響應給瀏覽器以後,瀏覽器並不會直接把數據丟給你。
- 由於這些數據是用計算機的語言寫的,瀏覽器還要把這些數據翻譯成你能看得懂的樣子,
- 這是瀏覽器作的另外一項工做【解析數據】。
爬蟲的工做原理
狀態碼
- 不是每一次請求就必定能成功, 咱們須要判斷請求的結果
- 301—永久移動。被請求的資源已被永久移動位置;
- 302—請求的資源如今臨時從不一樣的 URI 響應請求;
- 305—使用代理。被請求的資源必須經過指定的代理才能被訪問;
- 307—臨時跳轉。被請求的資源在臨時從不一樣的URL響應請求;
- 400—錯誤請求;
- 402—須要付款。該狀態碼是爲了未來可能的需求而預留的,用於一些數字貨幣或者是微支付;
- 403—禁止訪問。服務器已經理解請求,可是拒絕執行它;
- 404—找不到對象。請求失敗,資源不存在;
- 406—不可接受的。請求的資源的內容特性沒法知足請求頭中的條件,於是沒法生成響應實體;
- 408—請求超時;
- 409—衝突。因爲和被請求的資源的當前狀態之間存在衝突,請求沒法完成;
- 410—遺失的。被請求的資源在服務器上已經再也不可用,並且沒有任何已知的轉發地址;
- 413—響應實體太大。服務器拒絕處理當前請求,請求超過服務器所能處理和容許的最大值。
- 417—指望失敗。在請求頭 Expect 中指定的預期內容沒法被服務器知足;
- 418—我是一個茶壺。超文本咖啡罐控制協議,可是並無被實際的HTTP服務器實現;
- 420—方法失效。
- 422—不可處理的實體。請求格式正確,可是因爲含有語義錯誤,沒法響應;
- 500—服務器內部錯誤。服務器遇到了一個不曾預料的情況,致使了它沒法完成對請求的處理;
下一節
歡迎關注本站公眾號,獲取更多信息