什麼是爬蟲
網路爬蟲(又被稱為網頁蜘蛛,網路機械人)就是模擬客戶端(主要指瀏覽器)傳送網路請求,接收請求響應,按照一定的規則,自動地抓取網際網路資訊的程式。原則上,只要是客戶端(主要指瀏覽器)能做的事情,爬蟲都能夠做。
爬蟲的用途
資料採集、軟體測試、爬蟲之自動化測試、12306搶票、**上的投票、簡訊轟炸、web漏洞掃瞄
http工作原理
http 和 https 區別:
http請求的過程
瀏覽器先向位址列中的url發起請求,並獲取響應,在返回的響應內容(html)中,會帶有css、js、等url位址,以及ajax**,瀏覽器按照響應內容中的順序依次傳送其他的請求,並獲取相應的響應
瀏覽器每獲取乙個響應就對展示出的結果進行新增(載入),js,css等內容會修改頁面的內容,js也可以重新傳送請求,獲取響應
從獲取第乙個響應並在瀏覽器中展示,直到最終獲取全部響應,並在展示的結果中新增內容或修改————這個過程叫做瀏覽器的渲染
注意:瀏覽器渲染出來的頁面和爬蟲請求的頁面很多時候並不一樣,所以在爬蟲中,需要以url位址對應的響應為準來進行資料的提取
http常見請求頭
host (主機和埠號)
connection (鏈結型別)
upgrade-insecure-requests (公升級為https請求)
user-agent (瀏覽器名稱)
accept (傳輸檔案型別)
referer (頁面跳轉處)
accept-encoding(檔案編譯碼格式)
cookie (cookie)
x-requested-with :xmlhttprequest (表示該請求是ajax非同步請求)
http重要的響應頭
set-cookie (對方伺服器設定cookie到使用者瀏覽器的快取)
last-modified (對方靜態頁面最後更新時間)
響應狀態碼(status code)
常見的狀態碼:
200:成功
302:臨時轉移至新的url
307:臨時轉移至新的url
404:找不到該頁面
500:伺服器內部錯誤
503:服務不可用
所有的狀態碼都不可信,一切以是否獲取到資料為準
爬蟲分類
通用爬蟲、聚焦爬蟲
向起始url傳送請求,並獲取響應、對響應進行提取,如果提取url,則繼續傳送請求獲取響應,如果提取資料,則將資料進行儲存
爬蟲初級一
本部分參考 mooc課程 嵩天 import requests try r requests.get print r.text except print 爬取失敗 但是,我們知道,有些 是會檢視你的user agent,如果你不是瀏覽器,就會阻止你訪問。解決方法 import requests ur...
爬蟲初級 33號
requests庫是乙個簡潔且簡單的處理http請求的第三方庫,最大的優點是程式編寫更接近正常url訪問過程。requests庫解析 requests庫中網頁請求函式 函式描述 get url timeout n 對應於http的get方式,獲取網頁最常用的方法,可以增加timeout n引數,設定...
初級爬蟲爬取筆趣閣小說
import requests from pyquery import pyquery as pq def get content a response requests.get a response.encoding gbk doc pq response.text text doc conten...