標籤:伺服器 cookie mysq 解析 有用 使用 學習 通過 request
爬蟲是什嗎?爬蟲其實就是擷取網頁的內容經過解析來獲得有用資料並將資料存放區到資料庫中的程式。
基本步驟:
1.擷取網頁的內容,通過構造請求給伺服器端,讓伺服器端認為是真正的瀏覽器在請求,於是返迴響應。python有很多請求的庫,像urllib,requests庫等,個人比較喜歡requests庫,很容易上手。
2.解析獲得的資料,可以通過Regex,bs4,xpath等解析工具來獲得自己想要的資料。
3.存到資料庫,現在最流行的三大資料庫,mysql,mongodb,redis都可以通過python相關的庫來進行互動。
會話和Cookies?
什麼是會話?什麼是Cookies呢?這全都要怪罪於HTTP協議,因為HTTP協議是無狀態的協議,因此前後兩個請求它並不能夠知道是不是同一個使用者在發送請求,這就可能會導致重複的傳遞一些請求。這時候會話和Cookies就幫上大忙了。當使用者在執行登入操作後,後端伺服器會為該使用者建立一個會話,會話中包含一個id來標識這個會話,使用者的登入狀態以及使用者的資訊,並且將這一標識id通過Set-Cookie欄位返回給用戶端,當用戶端下一次請求需要登入才能查看的網頁時,伺服器就會檢查用戶端發過來的Cookie欄位,如果能夠通過Cookie欄位找到使用者相應的會話,就會進一步判斷該使用者的登入狀態。通常網站都會有一個會話逾時時間,如果會話到期了,就需要重新登入。
總結的說,會話是在伺服器端儲存的資訊,而Cookie是在用戶端儲存的資訊,會話的作用就是用來維持使用者的登入狀態。
代理
代理的基本原理是什麼呢?代理實際上就是指Proxy 伺服器,當我們設定了Proxy 伺服器的時候,該Proxy 伺服器就成為了我們的伺服器,而Proxy 伺服器本身也成為了用戶端去向我們真正請求的伺服器發送請求,當Proxy 伺服器獲得響應後再將響應返回給我們本地的用戶端,這樣就成功的實現了隱藏我們本地ip的功能。
為什麼要使用代理呢?一些網站在後端處理請求的時候會檢測一段時間內同一個ip訪問的次數,如果次數達到了一定的值,就會直接拒絕服務,也就是經常說的ip被封了。為了防止這種情況的發生,就需要強大的代理功能來隱藏我們的ip。在使用爬蟲爬去資料的時候,如果我們能夠不斷的更換代理,就會讓伺服器迷失自己~
常見的代理設定:使用網上的免費代理或者使用付費的代理服務。
Python爬蟲學習二------爬蟲基本原理