python爬蟲基本概述

来源:https://www.cnblogs.com/liuyebai/archive/2022/10/31/16844258.html
-Advertisement-
Play Games

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

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • JavaScript02 8.JavaScript函數 JavaScript函數介紹 函數是由事件驅動的,或者當它被調用時,執行的可重覆使用的代碼 例子 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>函數快 ...
  • phpt測試文件說明 phpt文件用於PHP的自動化測試,這是PHP用自己來測試自己的測試數據用例文件。 測試腳本通過執行PHP源碼根目錄下的run-tests.php,讀取phpt文件執行測試。 phpt文件包含 TEST,FILE,EXPECT 等多個段落的文件。在各個段落中,TEST、FILE ...
  • 2022-10-23 步驟: 一、創建工程倉庫 (1)在“碼雲”上創建一個倉庫,在本地盤符中創建一個文件夾,右擊,使用git,將遠程倉庫的內容克隆到本地倉庫中,點擊“Git Bash Here”。將剛剛創建的遠程倉庫克隆,使用的命令是“git clone 剛剛遠程倉庫的地址(點擊(克隆/下載)按鈕會 ...
  • git介紹 什麼是git git是一種版本控制器 - 控制的對象是開發的項目代碼 什麼是版本控制器 完成 協同開發 項目,幫助程式員整合代碼 i)幫助開發者合併開發的代碼 ii)如果出現衝突代碼的合併,會提示後提交合併代碼的開發者,讓其解決衝突 軟體:SVN 、 GIT(都是同一個人的個人項目) g ...
  • 數據結構基礎—數組和廣義表 一、數組 1.數據的定義 數組類似於線性表,就是多維結構的順序表, 2.稀疏數組 a.稀疏數組的定義: 假設m行n列的矩陣中含有t個非零元素若t/(m*n) <= 0.05,則稱該矩陣為稀疏矩陣 稀疏矩陣也分為特殊矩陣和隨機矩陣隨機 特殊矩陣:三角,對角... 隨機矩陣: ...
  • 簡介: 策略模式又叫做政策模式,用於如何組織和調用演算法的,是屬於行為型模式的一種。 策略模式需要三個角色構成: Context 封裝角色:也叫做上下文角色,起承上啟下封裝作用,屏蔽高層模塊對策略、演算法的直接訪問,封裝可能存在的變化。 Strategy 抽象策略角色:通常為介面,指定規則。 Concr ...
  • 內核中的`InlineHook`函數掛鉤技術其實與應用層完全一致,都是使用劫持執行流並跳轉到我們自己的函數上來做處理,唯一的不同只有一個內核`Hook`只針對內核API函數,雖然只針對內核API函數實現掛鉤但由於其身處在最底層所以一旦被掛鉤其整個應用層都將會受到影響,這就直接決定了在內核層掛鉤的效果... ...
  • 作者:農民工老王 來源:blog.csdn.net/monarch91/article/details/122709576 我是一個非科班出身的程式員,大學本科時的專業和編程無關,畢業後做了幾年事業單位後,才中途轉行做了軟體開發。 我一入行就聽說了35歲危機:程式員到了35歲後,如果沒有進入管理層, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...