向網站發起請求,獲取資源後分析並提取有用數據的程序。css
Request:用戶將本身的信息經過瀏覽器(socket client)發送給服務器(socket server)html
Response:服務器接收請求,分析用戶發來的請求信息,而後返回數據(返回的數據中可能包含其餘連接,如:圖片,js,css等)python
注:瀏覽器在接收Response後,會解析其內容來顯示給用戶,而爬蟲程序在模擬瀏覽器發送請求而後接收Response後,是要提取其中的有用數據。正則表達式
主要有GET、POST,還有HEAD、PUT、DELETE、POTIONS等。數據庫
URL,即統一資源定位符,也就是網址,統一資源定位符是對能夠從互聯網上獲得的資源的位置和訪問方法的一種簡潔的表示,是互聯網上標準資源的地址。互聯網上的每一個文件都有一個惟一的URL,它包含的信息指出文件的位置以及瀏覽器應該怎麼處理它。網頁爬蟲
User-agent、host、cookies瀏覽器
User-agent:請求頭中若是沒有user-agent客戶端配置, 服務端可能將你當作一個非法用戶。服務器
hostcookie
cookies:cookie用來保存登陸信息。python爬蟲
通常作爬蟲都會加上請求頭。
請求體是請求時額外攜帶的數據。若是是get方式,請求體沒有內容;若是是post方式,請求體是format data。
200:表明成功
301:表明跳轉
404:文件不存在
403:權限
502:服務器錯誤
響應頭須要注意的參數:
(1)Set-Cookie:BDSVRTM=0; path=/:可能有多個,是來告訴瀏覽器,把cookie保存下來;
(2)Content-Location:服務端響應頭中包含Location返回瀏覽器以後,瀏覽器就會從新訪問另外一個頁面。
由於爬蟲爬取的數據是Js沒有渲染的數據,而瀏覽器中看到的是JS完成渲染後的數據。
當咱們進行網頁爬蟲時,咱們會利用必定的規則從返回的 HTML 數據中提取出有效的信息。可是若是網頁中含有 JavaScript 代碼,咱們必須通過渲染處理才能得到原始數據。
各位,我回來了,3月的時候自學爬蟲,不過資料準備不足,加上拖延症發做,到如今爬蟲都還沒入門。將來會邊學邊更新,沒有辦法保證一天一更了。
文中不免有不足之處,歡迎批評指正。
一、什麼是爬蟲:http://www.cnblogs.com/935415150wang/p/7793306.html
二、Python2爬蟲學習系列教程|靜覓:https://cuiqingcai.com/1052.html
三、Python Request庫Get和Post的區別:http://www.cnblogs.com/mango-lee/p/7116425.html
四、爬蟲技術:(JavaScript渲染)動態頁面抓取超級指南:https://blog.csdn.net/sqzhao/article/details/50853996
五、python學習之python爬蟲原理 :http://www.sohu.com/a/251575938_100120307
六、爬蟲從頭學之爬蟲基本原理:https://blog.csdn.net/prospective0821/article/details/80630436