爬蟲的作用根據是否獲取資料為目的,分類:
功能性爬蟲,比如,投票,點讚
資料增量爬蟲,比如招聘資訊
爬蟲的流程robots協議:**通過robots協議,告訴我們搜尋引擎哪些頁面可以抓取,哪些頁面不能抓取,但它僅僅是道德層面上的約束。
http的重點請求頭:
user-agent:告訴對方伺服器是什麼客戶端正在請求資源,爬蟲中模擬瀏覽器非常重要的乙個手段
爬蟲中通過把user-agent設定為瀏覽器的ua,能夠達到模擬瀏覽器的效果
cookie:獲取登入之後,才能夠訪問的資源
requests.utils.unquote(url)
requests中headers如何使用
headers =
requests.get(url,headers=headers)
requests中如何傳送post請求
data =
requests.post(url,data=data)
概念:爬蟲就是模擬瀏覽器傳送網路請求,獲取請求響應
requests如何傳送請求和獲取響應
response = requests.get(url)
response.text -> str(獲取的資料是字串型別)
response.encoding=「utf-8」(亂碼需要解碼,修改編碼方式)
response.content -> bytes(獲取的資料是位元組型別)
response.content.decode()(位元組需要編碼)
響應:response.text str型別,
response.content 獲取內容,位元組型別,需要decode編碼
response.status_code 獲取狀態碼
response.request.headers 響應對應的請求頭
response.headers 響應頭
response.request.url 請求url位址
response.url 響應url位址
response.request._cookie 響應對應請求的cookie;返回cookiejar型別
response.cookies 響應cookie(經過了set-cookie動作,返回cookiejar型別)
response.json() 自動將json字串型別的響應內容轉換為python物件(dict 或者 list)
python3和python2字串的轉化
python2的字串型別
unicode
unicode.encode(「utf-8」)
str :位元組型別
str.decode()
a = 「傳智」 -->str型別
a = u"傳智" —》unicode
python3的字串型別
strstr.encode()
bytes
bytes.decode()
傳送帶headers的請求
headers =
response = requests.get(url,headers=headers)
傳送帶引數的請求
物件導向
物件生活中的客觀事物
類對事物的客觀抽象,在**中實現class 型別
實列使用之前對類的實列化之後的結果
1.讓伺服器以為不是同乙個客戶端在請求
2.防止我們的真實位址被洩露,防止被追究
正向**和反向**(以知不知道最終伺服器的位址作為判斷標準)
用法:response = requeses.get(「 proxies = proxies」)
proxies的形式:字典
例如:proxies =
**的分類:
透明**:能夠知道真實請求位址
匿名**:知道在使用**,但不知道真實的位址
高匿**:不知道在使用**
混淆**:變化的ip位址,別人知道你在用**,但不知道真實的位址
從使用的協議分類:
反反爬(自己購買,組裝自己的**ip池)
一段時間內,檢測ip訪問的頻率,訪問太多頻繁會被遮蔽
檢查cookie,user-agent, referer等header引數,若沒有則遮蔽
服務方購買所有**提供商,加入到爬蟲資料庫裡,若檢測是**,則遮蔽
爬蟲入門 01 爬蟲基礎了解
爬蟲,即網路爬蟲,大家可以理解為在網路上爬行的乙隻蜘蛛,網際網路就比作一張大網,而爬蟲便是在這張網上爬來爬去的蜘蛛咯,如果它遇到資源,那麼它就會抓取下來。想抓取什麼?這個由你來控制它咯。比如它在抓取乙個網頁,在這個網中他發現了一條道路,其實就是指向網頁的超連結,那麼它就可以爬到另一張網上來獲取資料。...
爬蟲入門基礎專案
在入手這個爬蟲專案之前,基礎知識的儲備包括 python基礎知識 網頁資訊呈現方式 html json 資料獲得方式 post get requests,唯一的乙個非轉基因的python http庫 獲取我們需要的內容 正規表示式 beautiful soup 4.4.0文件 精通正規表示式 第三版...
Python 爬蟲基礎入門
1.你是否在夜深人靜的時候,想看一些會讓你更睡不著的卻苦於沒有資源?2.你是否在節假日出行高峰的時候,想快速搶購火車票成功?3.你是否在網上購物的時候,想快速且精準的定位到口碑質量最好的商品?通過編寫程式,模擬瀏覽器上網,然後讓其去網際網路上抓取資料的過程。抓取網際網路上的資料,為我所用,有了大量的...