python爬蟲基本概述 一、爬蟲是什麼 網路爬蟲(Crawler)又稱網路蜘蛛,或者網路機器人(Robots). 它是一種按照一定的規則, 自動地抓取萬維網信息的程式或者腳本。換句話來說,它可以根據網頁的鏈接地址自動獲取網頁 內容。如果把互聯網比做一個大蜘蛛網,它裡面有許許多多的網頁,網路蜘蛛可以 ...
python爬蟲基本概述
一、爬蟲是什麼
網路爬蟲(Crawler)又稱網路蜘蛛,或者網路機器人(Robots). 它是一種按照一定的規則, 自動地抓取萬維網信息的程式或者腳本。換句話來說,它可以根據網頁的鏈接地址自動獲取網頁 內容。如果把互聯網比做一個大蜘蛛網,它裡面有許許多多的網頁,網路蜘蛛可以獲取所有網頁 的內容。
爬蟲是一個模擬人類請求網站行為, 並批量下載網站資源的一種程式或自動化腳本。
二、爬蟲可以做什麼
1. 搜索引擎
2. 採集金融數據
3. 採集商品數據
4. 採集競爭對手的客戶數據
5. 採集行業相關數據,進行數據分析
6. 刷流量
三、爬蟲的分類
1、通用網路爬蟲 又稱為全網爬蟲,其爬取對象由一批 URL 擴充至整個 Web,主要由搜索引擎或大型 Web 服 務商使用。
2、聚焦網路爬蟲 又稱為主題網路爬蟲,其特點是只選擇性的地爬取與預設的主題相關的頁面,相比通用網 絡爬蟲,聚焦網路爬蟲僅需要爬取與主題相關的頁面,極大地節省硬體及網路資源,能更 快的更新保存頁面,更好的滿足特定人群對特定領域的需求。
3、增量網路爬蟲 只對已下載的網頁採取增量式更新,或只爬取新產生的及已經發生變化的網頁,這種機制 能夠在某種程度上保證所爬取的網頁儘可能的新。
4、深度網路爬蟲 Web 頁面按照存在的方式可以分為表層頁面和深層頁面兩類。表層頁面是只傳統搜索引擎 可以索引到的頁面,以超鏈接可以達到的靜態頁面為主。深層頁面是指大部分內容無法通 過靜態鏈接獲取,隱藏在搜索表單之後的,需要用戶提交關鍵詞後才能獲得的 Web 頁面, 如一些登陸後可見的網頁。
四、爬蟲的基本流程
1、瀏覽網頁的流程
2 、爬蟲的基本流程
1. 請求網頁 通過 HTTP 庫向目標站點發起請求,即發送一個 Request,請求可以包含額外的 headers 等 信息,等待伺服器響應!
2. 獲得相應內容 如果伺服器能正常響應,會得到一個 Response,Response 的內容便是所要獲取的頁面內容, 類型可能有 HTML,Json 字元串,二進位數據(如圖片視頻)等類型。
3. 解析內容 得到的內容可能是 HTML,可以用正則表達式、網頁解析庫進行解析。可能是Json,可以 直接轉為 Json 對象解析,可能是二進位數據,可以做保存或者進一步的處理。
4. 存儲解析的數據 保存形式多樣,可以存為文本,也可以保存至資料庫,或者保存特定格式的文件
3 、爬蟲的測試案例
爬取搜狗首頁的頁面數據
# 導包 import requests # step_1 : 指定url url ='https://www.sogou.com/' # step_2 : 發起請求: # 使用get 方法發起get 請求, 該方法會返回一個響應對象。參數url 表示請求對應的url response = requests.get ( url = url ) # step_3 : 獲取響應數據: # 通過調用響應對象的text 屬性, 返迴響應對象中存儲的字元串形式的響應數據( 頁面源碼數據) page_text = response . text # step_4 : 持久化存儲 with open ('sogou.html','w',encoding ='utf -8') as fp: fp.write (page_text) print ('爬取數據完畢! ! !')
得到sogou.html