簡單來說互聯網是由一個個站點和網絡設備組成的大網,我們通過瀏覽器訪問站點,站點把HTML、JS、CSS代碼返回給瀏覽器,這些代碼經過瀏覽器解析、渲染,將豐富多彩的網頁呈現我們眼前。
爬蟲是什麼?
如果我們把網路比喻成一張大的蜘蛛網,資料就是存放在蜘蛛網的各個節點,而爬蟲就是一隻小蜘蛛,沿著網路抓取自己的獵物(數據)爬蟲指的是:向網站發起請求,獲取資源後分析並提取有用數據的程序;從技術層面來說就是透過程式模擬瀏覽器請求站點的行為,把站點返回的HTML代碼/JSON數據/二進位數據(圖片、影片) 爬到本地,進而提取自己需要的數據,存放起來使用。
爬蟲的基本流程
使用者取得網路資料的方式:
方式1:瀏覽器提交請求--->下載網頁程式碼--->解析成頁面
方式2:模擬瀏覽器發送請求(取得網頁程式碼)->提取有用的資料->存放於資料庫或檔案
爬蟲要做的就是方式2;
發起請求
使用http函式庫向目標網站發起請求,也就是傳送一個Request
Request包含:請求頭、請求體等
Request模組缺陷:不能執行JS 和CSS 代碼
取得回應內容
如果伺服器能正常回應,則會得到一個Response
Response包含:html,json,圖片,視訊等
解析內容
解析html資料:正規表示式(RE模組),第三方解析庫如Beautifulsoup, pyquery等
解析json資料:json模組
解析二進位資料:以wb的方式寫入檔案
儲存資料
資料庫(MySQL,Mongdb 、Redis)
檔
以上是python爬蟲難學嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!