第一章節主要給你們普及一下爬蟲的概念以及相關的知識,讓你們對後面的學習打下紮實的基礎。若是你是有經驗的開發者,徹底能夠跳過第一章進入第二章的學習了。數據庫
這個項目主要圍繞兩大核心點展開:瀏覽器
1. PHP爬蟲服務器
2. 代理IP學習
我們先講講什麼是爬蟲,簡單來說,爬蟲就是一個探測機器,它的基本操做就是模擬人的行爲去各個網站溜達,點點按鈕,查查數據,或者把看到的信息揹回來。就像一隻蟲子在一幢樓裏不知疲倦地爬來爬去。網站
而咱們最多見,用的最多的爬蟲就是:百度。代理
百度就是利用這種爬蟲技術:天天放出無數爬蟲到各個網站,把他們的信息抓回來,等着你去搜索。日誌
還有各類類型的搶票軟件,每個爬蟲都幫助你不斷刷新 12306 網站的火車餘票。一旦發現有票,就立刻買下來。開發
隨着時代的發展,人們發現並非全部的爬蟲都像百度、搶票軟件這種幫助到咱們的生活,也有許多非法入侵的爬蟲,這些爬蟲不只幫助不到咱們,甚至會讓咱們的許多信息泄露。入門
人們十分憎恨這種爬蟲,因而這就誕生了另外一門技術,反爬蟲。基礎
話說有一天,小明想去電影院看電影,可是不知道看哪一部電影好,因而他想從多個網站爬取一些影評來讓本身更好的抉擇看什麼電影。因而小明寫了標準的爬蟲(基於HttpClient庫),不斷地遍歷某站的電影下面的影評頁面,根據 Html 分析電影名字存進本身的數據庫。
可是電影網站的工做人員小紅卻不樂意了,你用爬蟲把咱們的影評爬走了,那誰還上咱們網站啊,咱們怎麼賣廣告盈利啊。小紅髮現某個時間段請求量陡增,分析日誌發現都是 IP(X.X.X.X)這個用戶,而且 useragent 仍是 JavaClient1.6 ,基於這兩點判斷非人類後直接在Nginx 服務器上封殺。
小明發現本身的影評只爬了三分之一就被封了,因而也針對性的變換了下策略,每爬半個小時就換一個IP代理。
因而這就涉及到咱們項目的第二點,代理IP了。這個詞對於一些剛入門的新手們也許有點陌生,其實代理IP咱們也能夠理解爲是一臺代理服務器。
代理服務器是介於瀏覽器和Web服務器之間的一臺服務器,當你經過代理服務器上網瀏覽時,瀏覽器不是直接到Web服務器去取回網頁,而是向代理服務器發出請求,由代理服務器來取回瀏覽器所須要的信息,並傳送給你的瀏覽器
這樣,電影網站的小紅就沒法識別哪一個IP是咱們,而咱們也能夠順利獲取到本身想要的影評啦。(不過實際中還有更多的方法進行爬蟲的攻防,這裏就不一一講述了)。